我有2个用Python处理的pandas DataFrame,我想根据某个列(col_1)组合它们:
#df1
col_1 col_2
0 3 7
1 4 8
2 5 5
#df2
col_1 col_3
0 4 78
1 5 89
并且输出应如下所示:
col_1 col_2 col_3
0 3 7 0
1 4 8 78
2 5 5 89
我不确定如何使用“最佳做法”进行此操作。
谢谢。
假设您有:
df1=pd.DataFrame({'col_1': {0: 3, 1: 4, 2: 5}, 'col_2': {0: 7, 1: 8, 2: 5}})
df2=pd.DataFrame({'col_1': {0: 4, 1: 5}, 'col_3': {0: 78, 1: 89}})
您可以使用合并:
pd.merge(df1,df2,on='col_1',how='left').fillna(0)
Out[22]:
col_1 col_2 col_3
0 3 7 0.0
1 4 8 78.0
2 5 5 89.0
如果您需要col_3作为int(感谢piRSquared的建议):
pd.merge(df1,df2,on='col_1',how='left').fillna(0, downcast='infer')
Out[25]:
col_1 col_2 col_3
0 3 7 0
1 4 8 78
2 5 5 89
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句