繁体   English   中英

我们如何根据标题进行分组和求和? 所以水平,而不是垂直,分组依据和总和

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM