Python - 从pandas中的聚合结果中获取组名

时间:2015-10-11 04:46:32

标签: python pandas dataframe

我有一个这样的数据框:

   minute   values
0   1        3
1   2        4
2   1        1
3   4        6
4   3        7
5   2        2

申请时

df.groupby('minute').sum().sort('values', ascending=False)

这给出了:

         values
minute
3        7
2        6
4        6
1        4

我想在像[3,2]这样的数组中获得分钟列中的前两个值。如何访问分钟列中的值

1 个答案:

答案 0 :(得分:1)

如果您想要的是分组数据框中分钟列的值(也可以是索引列),则可以使用DataFrame.index来访问该列。示例 -

grouped = df.groupby('minute').sum().sort('values', ascending=False)
grouped.index[:2]

如果您确实希望将其作为列表,则可以使用.tolist()将其转换为列表。示例 -

grouped.index[:2].tolist()

演示 -

In [3]: df
Out[3]:
   minute  values
0       1       3
1       2       4
2       1       1
3       4       6
4       3       7
5       2       2

In [4]: grouped = df.groupby('minute').sum().sort('values', ascending=False)

In [5]: grouped.index[:2]
Out[5]: Int64Index([3, 2], dtype='int64', name='minute')

In [6]: grouped.index[:2].tolist()
Out[6]: [3, 2]