如何访问groupby中的尺寸列

时间:2019-10-31 13:28:24

标签: pandas

请考虑以下代码。

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列宽。如何访问这两列?

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

希望这对您有帮助!