示例代码如下:
import pandas as pd
# 创建两个DataFrame
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'D', 'E'],
'value': [5, 6, 7, 8]})
# 使用merge进行内连接
merged_inner = pd.merge(df1, df2, on='key', how='inner')
print('内连接')
print(merged_inner)
print('-----------------')
# 使用merge进行左连接
merged_left = pd.merge(df1, df2, on='key', how='left')
print('左连接')
print(merged_left)
print('-----------------')
# 使用merge进行右连接
print('右连接')
merged_right = pd.merge(df1, df2, on='key', how='right')
print(merged_right)
print('-----------------')
# 使用merge进行外连接
merged_outer = pd.merge(df1, df2, on='key', how='outer')
print('外连接')
print(merged_outer)
print('-----------------')
输出的结果如下:
内连接
key value_x value_y
0 B 2 5
1 D 4 6
2 D 4 7
-----------------
左连接
key value_x value_y
0 A 1 NaN
1 B 2 5.0
2 C 3 NaN
3 D 4 6.0
4 D 4 7.0
-----------------
右连接
key value_x value_y
0 B 2.0 5
1 D 4.0 6
2 D 4.0 7
3 E NaN 8
-----------------
外连接
key value_x value_y
0 A 1.0 NaN
1 B 2.0 5.0
2 C 3.0 NaN
3 D 4.0 6.0
4 D 4.0 7.0
5 E NaN 8.0
-----------------
总结一下,内连接就是取交集,外连接取并集,左连接和右连接是按其中某个的行去merge。