如何访问使用DataFrame.groupby

时间:2016-09-03 01:41:22

标签: python pandas

使用具有重复单元格值的列'a'创建DataFrame后:

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]})

enter image description here

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

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

enter image description here

创建DataFrame的合并版本后,我想访问其列['a']:

print(groupDf['a])

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

我应该如何访问列'a?

1 个答案:

答案 0 :(得分:4)

groupby之后,分组列变为索引,您可以通过调用.indexreset_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')