如何将单元格值从一个数据帧复制到另一个(数据帧长度不匹配)



我有两个长度不等的数据帧:

Cat Count   Count03
A   17469   0
B   2327    0
C   7649    0
D   11496   0
E   26      0
F   1996    0
G   175     0
H   2914    0
I   486     0
J   0       0
K   4052    0 
Cat Count   Count03
A   0       480
B   0       34
C   0       234
E   0       56
F   0       4545
G   0       44
I   0       112
J   0       12
K   0       1

我想将df2.Count03中的值合并到df1.Count03中,如df1.updated数据帧中所示。

Cat Count   Count03
A   17469   480
B   2327    34
C   7649    234
D   11496   0
E   26      56
F   1996    4545
G   175     44
H   2914    0
I   486     112
J   0       12
K   4052    1

我面临的挑战是,由于数据帧的长度不相等,这意味着外部和内部连接似乎无法按要求工作。我想知道是否有一种优雅的方法可以跨数据帧从一个单元格复制值?

就方法而言,我想到了以下(IMHO丑陋的方法(。下面的伪代码:


copy contents of df2.count03 to df1.count3
else
assign a value of 0 

任何关于我如何解决这个问题的建议都将不胜感激。

谢谢Jonathan

concat与聚合sum一起使用,因为两个DataFrame中的列名相同,所以可以正常工作:

df = pd.concat([df1, df2]).groupby('Cat', as_index=False).sum()
print (df)
Cat  Count  Count03
0    A  17469      480
1    B   2327       34
2    C   7649      234
3    D  11496        0
4    E     26       56
5    F   1996     4545
6    G    175       44
7    H   2914        0
8    I    486      112
9    J      0       12
10   K   4052        1

相关内容

最新更新