【问题标题】:python: aggregate columns in pivot table with multiindex structurepython:使用多索引结构聚合数据透视表中的列
【发布时间】:2021-09-10 23:27:40
【问题描述】:

如果我有这样的多索引数据透视表:

汇总所有日期的总“总和”和“计数”的方法是什么? 我想查看包含表中所有行总计的附加列。

感谢@Nik03 的创意。 concat 方法返回所需的数据帧,但具有单个索引级别。要将其添加到原始数据框,您必须先创建列并将新数据框分配给:

table_to_show = pd.concat([table_to_record.filter(like='sum').sum(1), table_to_record.filter(like='count').sum(1)], axis=1)
table_to_show.columns = ['sum', 'count']

table_to_record['total_sum']   = table_to_show['sum']
table_to_record['total_count'] = table_to_show['count']

column_1st = table_to_record.pop('total_sum')
column_2nd = table_to_record.pop('total_count')
  
table_to_record.insert(0, 'total_sum', column_1st)
table_to_record.insert(1,'total_count', column_2nd)

结果如下:

【问题讨论】:

  • 你能提供你的数据框的代码吗? df.head(5).to_dict()

标签: pandas pivot multiple-columns multi-index


【解决方案1】:

一种方式:

df1 = pd.concat([df.filter(like='sum').sum(
    1), df.filter(like='mean').sum(1)], axis=1)
df1.columns = ['sum', 'mean']

【讨论】:

  • 非常感谢!谢谢 !小评论 - 如果我想连接 df1 和 df,你知道如何保持相同的多索引结构吗?
猜你喜欢
  • 2019-10-14
  • 1970-01-01
  • 2020-10-19
  • 2018-06-20
  • 2013-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多