Pandas DataFrame Align 函数

PandasPandasBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将探索 Python Pandas 库中的 DataFrame.align() 函数。align() 函数允许我们使用不同的连接方法(如 outer、inner、left 和 right)在两个 DataFrame 的轴上进行对齐。这在需要同步两个 DataFrame 或 DataFrame 与 Series 之间的数据时非常有用。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时可以向 Labby 提问。实验结束后请提供反馈,我们将及时为你解决问题。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL pandas(("Pandas")) -.-> pandas/DataSelectionGroup(["Data Selection"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) pandas(("Pandas")) -.-> pandas/AdvancedOperationsGroup(["Advanced Operations"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) pandas/DataSelectionGroup -.-> pandas/select_columns("Select Columns") pandas/DataSelectionGroup -.-> pandas/select_rows("Select Rows") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") pandas/AdvancedOperationsGroup -.-> pandas/merge_data("Merging Data") pandas/AdvancedOperationsGroup -.-> pandas/reshape_data("Reshaping Data") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/PythonStandardLibraryGroup -.-> python/data_serialization("Data Serialization") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") subgraph Lab Skills pandas/select_columns -.-> lab-68579{{"Pandas DataFrame Align 函数"}} pandas/select_rows -.-> lab-68579{{"Pandas DataFrame Align 函数"}} python/importing_modules -.-> lab-68579{{"Pandas DataFrame Align 函数"}} pandas/merge_data -.-> lab-68579{{"Pandas DataFrame Align 函数"}} pandas/reshape_data -.-> lab-68579{{"Pandas DataFrame Align 函数"}} python/data_collections -.-> lab-68579{{"Pandas DataFrame Align 函数"}} python/data_serialization -.-> lab-68579{{"Pandas DataFrame Align 函数"}} python/data_analysis -.-> lab-68579{{"Pandas DataFrame Align 函数"}} end

导入所需的库并创建 DataFrames

首先,让我们导入 pandas 库并创建两个具有不同索引和列的 DataFrames。第一个 DataFrame df1 将包含列 'Name'、'Roll No'、'Subject' 和 'Marks',而第二个 DataFrame df2 将包含列 'Name'、'Roll No' 和 'Marks'。

import pandas as pd

df1 = pd.DataFrame([['Abhishek',100,'Science',90], ['Anurag',101,'Science',85]], columns=['Name', 'Roll No', 'Subject', 'Marks'], index=[1,2])
df2 = pd.DataFrame([['Chetan',103,75], ['Divya',104,80], ['Diya',105,92]], columns=['Name', 'Roll No', 'Marks'], index=[2,3,4])

使用列上的 "left" 连接对齐 DataFrames

接下来,让我们使用列上的 "left" 连接来对齐这两个 DataFrames。我们将使用 align() 函数,并指定连接方法为 "left",轴为 1。

a1, a2 = df1.align(df2, join='left', axis=1)
print(a1)
print(a2)

使用列上的 "right" 连接对齐 DataFrames

类似地,我们可以使用列上的 "right" 连接来对齐 DataFrames。我们将使用 align() 函数,并指定连接方法为 "right",轴为 1。

a1, a2 = df1.align(df2, join='right', axis=1)
print(a1)
print(a2)

使用列上的 "outer" 连接对齐 DataFrames

我们还可以使用列上的 "outer" 连接来对齐 DataFrames。我们将使用 align() 函数,并指定连接方法为 "outer",轴为 1。

a1, a2 = df1.align(df2, join='outer', axis=1)
print(a1)
print(a2)

使用列上的 "inner" 连接对齐 DataFrames

最后,我们可以使用列上的 "inner" 连接来对齐 DataFrames。我们将使用 align() 函数,并指定连接方法为 "inner",轴为 1。

a1, a2 = df1.align(df2, join='inner', axis=1)
print(a1)
print(a2)

总结

在本实验中,我们学习了如何在 Pandas 库中使用 DataFrame.align() 函数。我们探索了不同的连接方法,如 outer、inner、left 和 right,以对齐两个 DataFrame 的列或索引。当我们需要同步不同数据源之间的数据或对对齐后的数据执行操作时,此函数非常有用。