我试图遍历熊猫中的多个Excel文件。文件的结构非常相似,前10列构成键,其余列具有值。我想按前10列进行分组,并对其余的列进行求和。
我已经在网上搜索并找到了类似案例的解决方案,但是我的问题是
我有很多列,它们的值(总计为和)和
每个列的数目/名称(带有值)不同 文件(数据框)
#Key列在所有文件中都是相同的。
我无法共享实际的数据样本,但这是文件结构的格式样本
这是上述数据的期望输出
这就像一个groupby操作,但是由于不确定的列数和标题名称的不确定性,使得很难使用groupby或ivot。谁能建议我在python中最好的解决方案是什么。
已编辑:
df.groupby(list(df.columns[:11])).agg(sum)
正在工作,但由于某些原因,它需要25-30分钟。 MS Access在1-2分钟内完成同样的事情。我在这里做错什么了吗,还是有其他方法可以在python本身中做
答案 0 :(得分:0)
只需使用具有列列表的df.columns
,然后您就可以在该列表上使用切片来获取最左边的10列。
这应该有效:
df.groupby(df.columns[:10].to_list()).sum()