在groupby之后,我怎样才能获得groupby列?

时间:2018-04-25 03:43:59

标签: python data-analysis

这是我的dataFrame:

data1   data2   key1    key2
0   -1.986321   -0.873129   a   one
1   0.169566    -1.503761   a   two
2   -1.019771   -0.095008   b   one
3   0.631865    -0.158880   b   two
4   -0.487121   0.643491    a   on

我使用声明:

a = df['data1'].groupby(df['key2']).sum()
a = pd.DataFrame(a)

然后,我得到一个数据帧:

        data1
key2    
one 2.721642
two 0.238394

但是,这不是我想要的,我想要一个可以访问key2的数据帧。 当像这样调用key2时:

a['key2'] 

我得到一个KeyError:'key2' 那么,我怎么能得到这样的数据帧?

key2  data1
one 2.721642
two 0.238394

1 个答案:

答案 0 :(得分:0)

使用reset_index()的功能 打印的(a):

      data1
key2    
one 2.721642
two 0.238394

打印(a.reset_index())

    key2    data1
0   one 2.721642
1   two 0.238394

不同之处在于key2和data1在同一行。 所以我可以使用pd.merge的功能(xxx,on =' key2')。 这真的是一个bug bug !!!!