Python 如何访问使用DataFrame.groupby创建的DataFrame列

Python 如何访问使用DataFrame.groupby创建的DataFrame列,python,pandas,Python,Pandas,创建数据帧后,列“a”具有重复的单元格值: import pandas as pd df = pd.DataFrame({'a': [1,2,2,3,3,3,3], 'b':[1,2,3,4,5,6,7], 'c':[8,9,10,11,12,13,14]}) 我继续创建一个副本,将重复的单元格合并到列“a”中,同时对其他单元格的值求和。我正在使用groupby方法来实现这一点,如下所示: groupDf = df.

创建数据帧后,列“a”具有重复的单元格值:

import pandas as pd
df = pd.DataFrame({'a': [1,2,2,3,3,3,3],
                   'b':[1,2,3,4,5,6,7],
                   'c':[8,9,10,11,12,13,14]})

我继续创建一个副本,将重复的单元格合并到列“a”中,同时对其他单元格的值求和。我正在使用
groupby
方法来实现这一点,如下所示:

groupDf = df.groupby('a', axis=0).sum()

创建数据框架的合并版本后,我希望访问其列['a']:

print(groupDf['a])
我收到
KeyError
通知我['a']列不存在。 使用
groupDf.columns
打印列名只返回列“b”和列“c”:
索引(['b','c'],dtype='object')


我应该如何访问“a”列

groupby
之后,分组列变成一个索引,您可以通过调用
.index
reset\u index
访问它,然后将其作为一个普通列访问,即以下两种方法:

df.groupby('a', axis=0).sum().reset_index()

#   a   b   c
# 0 1   1   8
# 1 2   5   19
# 2 3   22  50

df.groupby('a', axis=0).sum().index
# Int64Index([1, 2, 3], dtype='int64')

谢谢它工作得很好。请将其作为解决方案发布,以便我们对您的答案进行投票!