【发布时间】:2021-12-19 21:08:58
【问题描述】:
我有一个数据框,其中一列中有一些重复值。我想按该列分组并对其他列求和。数据框如下所示:
编辑:这里是创建数据框的代码。请注意名为“Able”的列,它是索引。
df=pd.DataFrame({'Able': ['Blue', 'Green', 'Red', 'Orange'], 'Baker':[ 'New York', 'New Jersey', 'New York', 'New Jersey'], 'Charlie':[3,4,'',7], 'Delta':['',5,6,''],'Echo':[100,200,300,400]}).set_index('Able')
结果应按“贝克”分组,并对其他三列求和。我尝试过各种风格的 groupby 和 pivot_table。他们返回正确的两行(纽约和新泽西),但他们只返回“贝克”和最右边一列的总和“回声”。应忽略作为源数据帧索引的最左侧列“Able”。我的输出应该如下所示(感谢@corralien 发现错误进行编辑):
Baker Charlie Delta Echo
New Jersey 11 5 600
New York 3 6 400
如何返回所有列,最好不要在代码中按名称列出它们?
【问题讨论】:
-
如果您提供代码来构建示例数据框以进行快速复制/粘贴,这将非常有帮助。
-
你能检查一下你的输出吗? Delta 值可能被交换了?
标签: python pandas dataframe group-by pivot-table