Python 如何访问使用DataFrame.groupby创建的DataFrame列
创建数据帧后,列“a”具有重复的单元格值: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.
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')
谢谢它工作得很好。请将其作为解决方案发布,以便我们对您的答案进行投票!