使用具有重复单元格值的列'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]})
我继续创建它的副本,其中我合并了“a”列中的重复单元格,同时对其他单元格的值进行求和。我使用groupby
方法来实现这一点,如下所示:
groupDf = df.groupby('a', axis=0).sum()
创建DataFrame的合并版本后,我想访问其列['a']:
print(groupDf['a])
我得到KeyError
通知我['a']列不存在。
使用groupDf.columns
打印列名称只返回“b”列和“c”列:Index(['b', 'c'], dtype='object')
我应该如何访问列'a?
答案 0 :(得分:4)
在groupby
之后,分组列变为索引,您可以通过调用.index
或reset_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')