Pandas DataFrame 的 combine() 方法

PythonPythonBeginner
立即练习

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

简介

在本实验中,我们将学习如何在 pandas 库中使用 combine() 方法将两个 DataFrame 按列合并。combine() 方法允许我们使用指定的函数将一个 DataFrame 的列与另一个 DataFrame 合并。

虚拟机使用提示

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

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

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

导入 pandas 库

首先,我们需要导入 pandas 库,这是一个用于数据操作和分析的强大库。

import pandas as pd

创建 DataFrames

接下来,我们创建两个 DataFrame,用于演示 combine() 方法。

df1 = pd.DataFrame({'A': [2, 0, 5], 'B': [2, None, -0.25]})
df2 = pd.DataFrame({'A': [3, 1, None], 'B': [3, 3, -4]})

让我们打印出这两个 DataFrame,查看它们的内容。

print("DataFrame 1:")
print(df1)
print("\nDataFrame 2:")
print(df2)

输出:

DataFrame 1:
   A     B
0  2  2.00
1  0   NaN
2  5 -0.25

DataFrame 2:
     A  B
0  3.0  3
1  1.0  3
2  NaN -4

使用 combine() 方法合并 DataFrames

现在,我们使用 combine() 方法将两个 DataFrame 合并。

combined_df = df1.combine(df2, min)

min 函数作为 func 参数,用于选择两列中较小的值。

让我们打印出合并后的 DataFrame,查看结果。

print("\nCombined DataFrame:")
print(combined_df)

输出:

Combined DataFrame:
     A     B
0  2.0  2.00
1  0.0   NaN
2  5.0 -4.00

使用自定义函数合并 DataFrames

我们也可以使用自定义函数作为 func 参数来合并 DataFrames。让我们创建一个自定义函数 multiply_columns,用于将每列的值相乘。

def multiply_columns(s1, s2):
    return s1 * s2

combined_df = df1.combine(df2, multiply_columns)

让我们打印出合并后的 DataFrame,查看结果。

print("\nCombined DataFrame:")
print(combined_df)

输出:

Combined DataFrame:
     A    B
0  6.0  6.0
1  0.0  NaN
2  NaN  1.0

总结

在本实验中,我们学习了如何使用 pandas 中的 combine() 方法按列合并两个 DataFrame。我们了解了如何使用内置函数和自定义函数来合并列。combine() 方法在我们希望基于特定条件或规则合并两个 DataFrame 的列时非常有用。它提供了数据合并的灵活性,并在必要时填充缺失值。