我可能正在接近这是错误的方式。如果我有两个数据帧a和b:
Dataframe A:
a b c
1 2 4
1 6 5
1 8 7
和Dataframe B:
a b c d
1 2 4 9
1 6 5 7
1 8 7 10
我希望加入它们,但是要对列名称匹配的列进行粗略的总结,并保留不匹配的列名称。所以最终的连接表看起来像:
a b c d
2 4 8 9
2 12 10 7
2 16 14 10
注意:索引总是匹配的(即相同顺序的记录数相同)
答案 0 :(得分:5)
答案 1 :(得分:2)
您可以对齐数据框,将NAN填充为0并执行简单的添加。
d = pd.DataFrame(data, columns=['a','b','c'])
d2 = pd.DataFrame(data2, columns=['a','b','c','d'])
d, d2 = d.align(d2, fill_value=0)
sum_df = d + d2
In [23]: d
Out[23]:
a b c d
0 1 2 4 0
1 1 6 5 0
2 1 8 7 0
In [24]: d2
Out[24]:
a b c d
0 1 2 4 9
1 1 6 5 7
2 1 8 7 10
In [25]:sum_df
Out[25]:
a b c d
0 2 4 8 9
1 2 12 10 7
2 2 16 14 10