请考虑以下代码。
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列,因为数据框看起来只有2列宽,但它只有一列宽。如何访问尺寸栏?
实际上,第2列是您可以访问的唯一一列,左边的只是一个索引。
如果您也希望将该索引作为列,则可以执行以下操作:
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['A'][0]
1
或
k['size'][0]
1
希望这有所帮助!