示例代碼如下:
import pandas as pd
# 創(chuàng)建兩個(gè)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進(jìn)行內(nèi)連接
merged_inner = pd.merge(df1, df2, on='key', how='inner')
print('內(nèi)連接')
print(merged_inner)
print('-----------------')
# 使用merge進(jìn)行左連接
merged_left = pd.merge(df1, df2, on='key', how='left')
print('左連接')
print(merged_left)
print('-----------------')
# 使用merge進(jìn)行右連接
print('右連接')
merged_right = pd.merge(df1, df2, on='key', how='right')
print(merged_right)
print('-----------------')
# 使用merge進(jìn)行外連接
merged_outer = pd.merge(df1, df2, on='key', how='outer')
print('外連接')
print(merged_outer)
print('-----------------')
輸出的結(jié)果如下:
內(nèi)連接
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
-----------------
總結(jié)一下,內(nèi)連接就是取交集,外連接取并集,左連接和右連接是按其中某個(gè)的行去merge消别。