Python的merge、concat、join的区别,请举例子说明
时间: 2023-12-14 07:39:20 浏览: 77
DataFrame 数据合并实现(merge,join,concat)
Python中的merge、concat和join都是用于合并数据的函数,但它们的使用场景和操作方式略有不同。
1. merge:merge函数是pandas库中的函数,用于将两个DataFrame对象按照一定的规则合并成一个新的DataFrame对象。它可以根据指定的列进行连接,也可以根据索引进行连接。例如:
```
import pandas as pd
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})
result = pd.merge(df1, df2, on='key')
print(result)
```
输出结果为:
```
key value_x value_y
0 B 2 5
1 D 4 6
```
2. concat:concat函数是pandas库中的函数,用于将多个DataFrame对象沿着一定的轴进行拼接。它可以按照行进行拼接,也可以按照列进行拼接。例如:
```
import pandas as pd
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': [5, 6, 7, 8]})
result = pd.concat([df1, df2], axis=0)
print(result)
```
输出结果为:
```
key value
0 A 1
1 B 2
2 C 3
3 D 4
0 B 5
1 D 6
2 E 7
3 F 8
```
3. join:join函数是pandas库中的函数,用于将两个DataFrame对象按照索引进行连接。它可以根据指定的索引进行连接,也可以根据两个DataFrame对象中的公共索引进行连接。例如:
```
import pandas as pd
df1 = pd.DataFrame({'value1': [1, 2, 3, 4]}, index=['A', 'B', 'C', 'D'])
df2 = pd.DataFrame({'value2': [5, 6, 7, 8]}, index=['B', 'D', 'E', 'F'])
result = df1.join(df2)
print(result)
```
输出结果为:
```
value1 value2
A 1 NaN
B 2 5.0
C 3 NaN
D 4 6.0
```
阅读全文