请考虑以下代码。
d=pd.DataFrame([[1,'a'],[1,'b'],[2,'c'],[2,'a'],[3,'c'],[4,'a'],[4,'c']],columns=['A','B'])
k=d.groupby(d.A).size().to_frame('size')
返回
size
A
1 2
2 2
3 1
4 2
还
k.shape
(4,1)
我希望能够访问size列和index列,但是数据框只有1列宽。如何访问这两列?
答案 0 :(得分:1)
实际上,“ size”列是您唯一可以访问的列,左边的只是索引。
如果您也希望将该索引作为列,则可以执行以下操作:
d=pd.DataFrame([[1,'a'],[1,'b'],[2,'c'],[2,'a'],[3,'c'],[4,'a'],[4,'c']],columns=['A','B'])
k=d.groupby(d.A).size().to_frame('size')
k.reset_index(level=0, inplace=True)
现在您将能够访问这两个列并拥有一个新索引。
A size
0 1 2
1 2 2
2 3 1
3 4 2
k.shape
(4,2)
即
k['A'][0]
1
或
k['size'][0]
2
希望这对您有帮助!