python-3.x - 如何将单元格值从一个数据帧复制到另一个(数据帧长度不匹配)
问题描述
我有两个长度不等的数据框:
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
我面临的挑战是,因为数据帧的长度不等,这意味着外部和内部连接似乎无法按要求工作。我想知道是否有一种优雅的方法可以跨数据框从一个单元格复制值?
在方法方面,我正在考虑以下方法(恕我直言,丑陋的方法)。伪代码如下:
copy contents of df2.count03 to df1.count3
else
assign a value of 0
非常感谢我如何解决这个问题的任何提示。
谢谢乔纳森
解决方案
concat
与 aggregate一起使用,它工作得很好,因为两个ssum
中的列名相同: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
推荐阅读
- tensorflow - 使用 Tensorflow/Keras 求解微分方程的自定义损失函数问题
- java - 从字符串数组中删除元素后,如何减少元素的索引?
- css - 在 D3 中,如何在使用变换旋转布置其位置后旋转字母?
- python - 为什么 not (a and b) 与 not a and not b 不一样?
- typescript - 打字稿:对象数组中的联合类型
- c# - 在 ASP.NET Core 中请求结束后使用(DI 注入)DbContext
- c# - 尝试获取资源时出现 Blazor WASM NetworkError。“CORS 缺少允许来源”
- python - Selenium 的 find_elements_by_class_name 不起作用,我不明白为什么
- powershell - PowerShell 脚本无法启动(随机)
- github - TortiouseSVN 使用 SSH 连接到 github.com