繁体   English   中英

两个熊猫数据框之间的复杂连接

[英]Complex join between two pandas dataframes

我有两个大熊猫数据框,需要加入它们然后填写缺失值:

数据框1具有A,B和C列,

数据框2具有A,B和C列,但缺少C中的所有值

我正在尝试加入数据帧#1和#2,以使两个数据帧中A和B列的值都相等,然后用数据帧#1中的值替换数据帧#2中的缺失值。

我已经尝试通过遍历各个数据帧的“强力”方法,但是每个数据帧中的数据量使这成为一个挑战。

是否有使用pandas和/或numpy的有效方法?

另外:我不确定这是否重要,但是所有值都是数字整数值。

任何帮助表示赞赏!

这是一个merge操作:

import pandas as pd

df1 = pd.DataFrame({'A':[1,2,3],'B':[4,5,6],'C':[np.NaN, np.NaN, np.NaN]})

df2 = pd.DataFrame({'A':[1,3],'B':[4,6],'C':[44, 55]})

In [150]: pd.merge(df1.drop(['C'], axis=1), df2, how='left', on=['A','B'])
Out[150]:
   A  B   C
0  1  4  44
1  2  5 NaN
2  3  6  55

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM