我有一个熊猫数据框如下:
df
name value1 value2 otherstuff1 otherstuff2
0 Jack 1 1 1.19 2.39
1 Jack 1 2 1.19 2.39
2 Luke 0 1 1.08 1.08
3 Mark 0 1 3.45 3.45
4 Luke 1 0 1.08 1.08
相同的“名称”对于otherstuff1和otherstuff2具有相同的值。
我正在尝试按列'name'和和列'value1'和列'value2'分组(不是带value2的和值1!!!但在每一列中分别求和)
期望得到以下结果:
newdf
name value1 value2 otherstuff1 otherstuff2
0 Jack 2 3 1.19 2.39
1 Luke 1 1 1.08 1.08
2 Mark 0 1 3.45 3.45
我试过了
newdf = df.groupby(['name'], as_index = False).sum()
哪个组通过正确命名value1和value2列并对其求和,但最终会删除otherstuff1和otherstuff2列。
请帮忙。非常感谢你们!
上面答案的关键实际上是“as_index=False”,否则列表中的所有列都将在索引中使用。
p_summ=p.groupby(attributes_list,as_index=False).agg({'AMT':sum})
像这样的?(假设您的otherstuff1和otherstuff2同名)
您应该指定panda必须对其他列执行的操作。在你的情况下,我认为你想保留一行,不管它在组内的位置如何。
这可以通过一个组上的
agg
来完成。agg
接受一个参数,该参数指定应为每列执行什么操作。相关问题 更多 >
编程相关推荐