我搜索了档案,但没有找到我想要的(可能是因为我真的不知道该用什么关键字)
我的问题是:我需要合并一组数据帧;我还想用数据帧的总和更新列子集的值。在
例如,我有两个数据帧,df1和df2:
df1=pd.DataFrame([ [1,2],[1,3], [0,4]], columns=["a", "b"])
df2=pd.DataFrame([ [1,6],[1,4]], columns=["a", "b"])
a b a b
0 1 2 0 1 5
1 1 3 2 0 6
2 0 4
合并后,我希望用匹配记录的总和更新“b”列,而列“a”应该像以前一样像df1(或df2,不真正关心):
^{pr2}$现在,将其扩展到合并三个或更多的数据帧。在
有没有直接的,内置的技巧来做到这一点?或者我需要一行一行地处理?在
====编辑/澄清=====
在真实世界的例子中,每个数据帧可能包含不在其他数据帧中的索引。在这种情况下,合并的数据帧应该包含所有这些数据,并使用sum(或其他一些操作)更新共享条目/索引。在
只是部分的,还没有完全的解决方案。但主要问题解决了:
df3将有两个“a”列和两个“b”列。df3.b上的sum()函数添加两个“b”列并忽略nan。现在,df4有列'b',df1和df2的'b'列之和,以及所有索引。在
但没有解决列“a”。在我的实际例子中,df3.a中的NaN的数量非常少,而df3.a中的其他数量应该相同。我还没有找到一种在df4中生成列“a”并用非NaN填充值的简单方法。现在正在搜索一个“count”函数来获取df3.a行中元素的出现情况(假设它有几十个列“a”)。在
相关问题 更多 >
编程相关推荐