[英]How can we group by and sum based on headers? So Horizontal, not Vertical, Group By and Sum
我有这个数据框。
2001Q1 2001Q2 2001Q3 2001Q4 2002Q1 2002Q2 ... 2011Q2 \
RCFD3531 0 1 2 3 4 5 ... 14481
RCFD3532 0 0 0 0 0 0 ... 0
RCFD3533 0 0 0 0 0 0 ... 0
RCFD3534 0 0 0 0 0 0 ... 0
RCFD3535 0 0 0 0 0 0 ... 0
... ... ... ... ... ... ... ...
Unnamed: 115_level_0 0 0 0 0 0 0 ... 0
Unnamed: 133_level_0 0 0 0 0 0 0 ... 0
Unnamed: 139_level_0 0 0 0 0 0 0 ... 0
Unnamed: 20_level_0 0 0 0 0 0 0 ... 0
Unnamed: 87_level_0 0 0 0 0 0 0 ... 0
2011Q3 2011Q4 2012Q1 2012Q2 2012Q3
RCFD3531 14482 14483 14484 14485 14486
RCFD3532 0 0 0 0 0
RCFD3533 0 0 0 0 0
RCFD3534 0 0 0 0 0
RCFD3535 0 0 0 0 0
... ... ... ... ...
Unnamed: 115_level_0 0 0 0 0 0
Unnamed: 133_level_0 0 0 0 0 0
Unnamed: 139_level_0 0 0 0 0 0
Unnamed: 20_level_0 0 0 0 0 0
Unnamed: 87_level_0 0 0 0 0 0
[197 rows x 14487 columns]
列名是:
2001Q1
2001Q2
2001Q3
2001Q4
2002Q1
我正在尝试按这些标题进行分组,并将这些标题下的所有值相加。 我很乐意垂直地进行分组和求和,但我以前从未水平地做过。 我用谷歌搜索了这个,并想出了下面的代码。
grouped_df = grouped_and_summed.groupby(grouped_and_summed.iloc[:0])
df_final = grouped_df.sum()
df_final = df_final.reset_index()
数据框名为grouped_and_summed
。 看起来这种技术应该可以工作,但我收到了这个错误:
ValueError: Grouper for '<class 'pandas.core.frame.DataFrame'>' not 1-dimensional
当然会有重复的列。 我正在尝试按这些重复列进行分组,并对这些重复列进行总和。 我还需要按升序获得最终结果吗? 我怎样才能做到这一点?
df.stack().reset_index().groupby('level_1')[0].agg('sum')
像这样的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.