在pandas中使用.groupby()时如何输出groupby变量?

时间:2015-03-26 23:03:24

标签: python pandas

我有一些我想要分析的数据。我通过相关的组变量(这里是'test_condition'和'region')对数据进行分组,并使用我写的函数分析度量变量('rt'):

grouped = data.groupby(['test_condition', 'region'])['rt'].apply(summarize)

工作正常。输出看起来像这样(假数据):

                                           ci1         ci2        mean  
test_condition      region                                               
Test Condition Name And          0  295.055978  338.857066  316.956522   
                    Spill1       0  296.210167  357.036210  326.623188   
                    Spill2       0  292.955327  329.435977  311.195652   

问题是,'test_condition'和'region'不是实际列,我无法索引它们。我只想要具有组变量名称的列!这看起来很简单(并且在R的ddply中自动完成)但是在经过大量的谷歌搜索之后我什么也没做到。有没有人有一个简单的解决方案?

1 个答案:

答案 0 :(得分:2)

默认情况下,分组变量将转换为索引。您可以使用grouped.reset_index()将索引更改为列。

我在使用as_index=False的groupby调用中指定此内容的第二个建议似乎在apply的情况下无法正常工作(但在使用aggregate时确实有效)