Groupby用于熊猫中的大数列

时间:2020-02-08 04:34:02

标签: python pandas pandas-groupby

我试图遍历熊猫中的多个Excel文件。文件的结构非常相似,前10列构成键,其余列具有值。我想按前10列进行分组,并对其余的列进行求和。

我已经在网上搜索并找到了类似案例的解决方案,但是我的问题是

  • 我有很多列,它们的值(总计为和)和

  • 每个列的数目/名称(带有值)不同 文件(数据框)

    #Key列在所有文件中都是相同的。

我无法共享实际的数据样本,但这是文件结构的格式样本

enter image description here

这是上述数据的期望输出

enter image description here

这就像一个groupby操作,但是由于不确定的列数和标题名称的不确定性,使得很难使用groupby或ivot。谁能建议我在python中最好的解决方案是什么。

已编辑:

df.groupby(list(df.columns[:11])).agg(sum)

正在工作,但由于某些原因,它需要25-30分钟。 MS Access在1-2分钟内完成同样的事情。我在这里做错什么了吗,还是有其他方法可以在python本身中做

1 个答案:

答案 0 :(得分:0)

只需使用具有列列表的df.columns,然后您就可以在该列表上使用切片来获取最左边的10列。

这应该有效:

df.groupby(df.columns[:10].to_list()).sum()