我有一个这样的 dafarame:
df1:
col1 col2 data1 data2 data3
0 A A_1 2 4 5
1 A A_2 11 58 87
2 A A_3 14 24 54
3 B B_1 3 6 9
4 B B_2 1 38 77
5 B B_3 54 13 10
而且我还有一个数据框就是这个:
df2:
col1 col2 sample1 sample2 sample3
0 A A_0 98 57 102
2 A A_1 6 13 5
2 A A_2 13 52 17
3 A A_3 8 29 50
4 B B_0 60 75 98
5 B B_1 3 6 9
6 B B_2 1 8 77
7 B B_3 2 1 10
那么,我如何基于 col1 和 col2 组合这些数据帧并创建这样的数据帧:
col1 col2 sample1 sample2 sample3 data1 data2 data3
0 A A_0 98 57 102 NaN NaN NaN
2 A A_1 6 13 5 2 4 5
2 A A_2 13 52 17 11 58 87
3 A A_3 8 29 50 14 24 54
4 B B_0 60 75 98 NaN NaN NaN
5 B B_1 3 6 9 3 6 9
6 B B_2 1 8 77 1 38 77
7 B B_3 2 1 10 54 13 10
答案 0 :(得分:1)
使用pandas.merge
on
参数定义要合并数据框的列以及
how
关键字定义了您想要的合并类型。请查看文档以确认您想要哪种类型的合并。但我认为在这种情况下您需要 outer
合并。
print(pd.merge(df1, df2, on='col2',how='outer'))