📅  最后修改于: 2023-12-03 15:23:39.620000             🧑  作者: Mango
在数据分析中,我们经常需要将两个数据框按照某一列进行合并,这个列是两个数据框共有的,在 Python 中可以使用 merge 函数来实现。
pandas.merge(left, right, how='inner', on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=False,
suffixes=('_x', '_y'), copy=True, indicator=False,
validate=None)
merge 函数的第一个参数是左侧的数据框,第二个参数是右侧的数据框,第三个参数是合并方式(默认是 inner join),第四个参数是合并所用的列(如果不指定,则默认使用两个数据框共有的列)。
import pandas as pd
# 创建数据
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value1': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'F', 'G'], 'value2': [5, 6, 7, 8]})
# 内连接
df3 = pd.merge(df1, df2, on='key', how='inner')
print(df3)
# 左连接
df4 = pd.merge(df1, df2, on='key', how='left')
print(df4)
# 右连接
df5 = pd.merge(df1, df2, on='key', how='right')
print(df5)
# 外连接
df6 = pd.merge(df1, df2, on='key', how='outer')
print(df6)
以上代码输出结果如下:
key value1 value2
0 B 2 5
1 D 4 6
key value1 value2
0 A 1 NaN
1 B 2 5.0
2 C 3 NaN
3 D 4 6.0
key value1 value2
0 B 2.0 5
1 D 4.0 6
2 F NaN 7
3 G NaN 8
key value1 value2
0 A 1.0 NaN
1 B 2.0 5.0
2 C 3.0 NaN
3 D 4.0 6.0
4 F NaN 7.0
5 G NaN 8.0
merge 函数可以方便地对两个数据框进行合并,使得我们可以更加方便地进行数据分析和处理。在使用该函数时,一定要注意指定好合并方式和合并列,避免错误的结果。