我在数据帧 df 中有 2 列,即“名称”和“销售额”
名字 | 销售 |
---|---|
ABC | 1 |
ABC | 2 |
ABC | 3 |
xyz | 4 |
xyz | 5 |
xyz | 6 |
我想根据名称添加销售额,应如下所示:
名字 | 销售 |
---|---|
ABC | 6 |
xyz | 15 |
我的代码:
groupdf = df.groupby('names')
grouplist = groupdf["names"].apply(list)
这给了我一个系列:
names
abc [1,2,3]
xyz [4,5,6]
我被困在这里,无法进一步添加它们并返回数据帧。 谁能帮我找到更好的方法?
答案 0 :(得分:0)
你快完成了。无需获取每个名称的值列表,您基本上可以在 groupby
之后对给定名称的所有出现次数求和。这是在 Pandas 中做这类事情的一种非常基本的方式。
整个python代码如下:
groupdf = df.groupby('names')
sums_by_names = groupdf.sum()