[英]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.