Pandas 多个表格合并:merge(), join(), concat() 函数详解
在 Pandas 中,可以使用 merge(), join(), concat() 等函数实现多个表的合并。
merge()函数
merge() 函数可以将两个表按照指定的列进行合并,并且可以指定合并方式('inner', 'outer', 'left', 'right')。
例如:
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]})
# 将两个数据表按照 key 列进行合并
result = pd.merge(df1, df2, on='key', how='outer')
print(result)
输出结果:
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 E NaN 7.0
5 F NaN 8.0
join()函数
join() 函数可以将两个表按照索引进行合并。
例如:
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, how='outer')
print(result)
输出结果:
value1 value2
A 1.0 NaN
B 2.0 5.0
C 3.0 NaN
D 4.0 6.0
E NaN 7.0
F NaN 8.0
concat()函数
concat() 函数可以将多个表按照行或列进行合并。
例如:
import pandas as pd
# 创建三个数据表
df1 = pd.DataFrame({'value1': [1, 2, 3, 4]})
df2 = pd.DataFrame({'value2': [5, 6, 7, 8]})
df3 = pd.DataFrame({'value3': [9, 10, 11, 12]})
# 将三个数据表按照行进行合并
result = pd.concat([df1, df2, df3], axis=1)
print(result)
输出结果:
value1 value2 value3
0 1 5 9
1 2 6 10
2 3 7 11
3 4 8 12
原文地址: http://www.cveoy.top/t/topic/f2Sd 著作权归作者所有。请勿转载和采集!