📅  最后修改于: 2023-12-03 15:33:56.686000             🧑  作者: Mango
如果您有两个具有不同列名称的 pandas DataFrame,并且需要通过列匹配它们,则可以使用 merge()
函数。
假设我们有两个 DataFrame 分别为 df1
和 df2
,这里是如何使用 merge()
函数在它们之间执行列匹配:
merged_df = df1.merge(df2, left_on='col1', right_on='col2')
其中,left_on
和 right_on
参数分别指定要匹配的列名称。如果列名称在两个 DataFrame 中不同,则需要使用这些参数。
此外,还有其他参数可以传递给 merge()
函数以定制匹配方式。例如,您可以使用 how
参数指定要执行的连接类型(内部连接,左连接等)。
以下是一个完整示例:
import pandas as pd
# 创建第一个 DataFrame
df1 = pd.DataFrame({'A': [1, 2, 3, 4],
'B': ['foo', 'bar', 'baz', 'qux']})
# 创建第二个 DataFrame
df2 = pd.DataFrame({'C': ['foo', 'bar', 'baz', 'quux'],
'D': [10, 20, 30, 40]})
# 通过列匹配合并 DataFrame
merged_df = df1.merge(df2, left_on='B', right_on='C', how='inner')
print(merged_df)
输出结果如下:
A B C D
0 1 foo foo 10
1 2 bar bar 20
2 3 baz baz 30
可以看到,此示例将 df1
和 df2
通过列名 B
和 C
进行列匹配,并且只返回匹配的行。