以下是一个示例代码,演示了如何按照关键列合并三个pandas数据帧:
import pandas as pd
# 创建示例数据帧
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'],
'value1': [1, 2, 3, 4]})
df2 = pd.DataFrame({'key': ['A', 'B', 'E', 'F'],
'value2': [5, 6, 7, 8]})
df3 = pd.DataFrame({'key': ['A', 'C', 'G', 'H'],
'value3': [9, 10, 11, 12]})
# 使用merge函数按照key列合并数据帧
merged_df = pd.merge(df1, df2, on='key', how='outer')
merged_df = pd.merge(merged_df, df3, on='key', how='outer')
print(merged_df)
输出结果为:
key value1 value2 value3
0 A 1.0 5.0 9.0
1 B 2.0 6.0 NaN
2 C 3.0 NaN 10.0
3 D 4.0 NaN NaN
4 E NaN 7.0 NaN
5 F NaN 8.0 NaN
6 G NaN NaN 11.0
7 H NaN NaN 12.0
在上面的示例中,我们首先使用merge
函数将df1
和df2
按照key
列进行外连接合并,然后再将合并结果与df3
按照key
列进行外连接合并,得到最终的合并结果。合并使用了how='outer'
参数,表示按照关键列的并集进行合并,同时保留所有行。
上一篇:按照关键词搜索和排序结果