【发布时间】:2023-02-23 03:39:51
【问题描述】:
我有两个熊猫的数据框,说:
df1 = pd.DataFrame({"Type": [A, A, B, B, C], "data": [1,2,3,4,5]})
Type data
0 A 1
1 A 2
2 B 3
3 B 4
4 C 5
df2 = pd.DataFrame({"Type": [A, B, C]})
Type
0 A
1 B
2 C
并且我想在 df2 旁边添加一个列,说“值”,这样值中的每个单元格都具有 df1["Col2"] 中属于同一类型的所有元素的总和。
对于此特定示例,所需的输出如下所示:
Type data
0 A 3
1 B 7
2 C 5
我很想为 df2["Type"] 中的每个 x 使用 while 并添加所有 df1[df1["Type"] == x]["data"] 但这似乎不是正确的形式。
我怎样才能达到这个期望的输出?
【问题讨论】:
-
检查 groupby 总和
-
你可以试试
df2 = df1.groupby(['Type']).sum()。