我有两个长度不等的数据帧:
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