在python中聚合数据帧索引

时间:2016-09-22 12:16:44

标签: python pandas series

我想用groupby函数聚合数据帧的索引。

     word  count
0    a     3
1    the   5
2    a     3
3    an    2
4    the   1

我想要的是一个pd.Series,它由索引的列表(降序)组成,

word
a       [2, 0]
an         [3]
the     [4, 1]

我尝试过使用groupby的一些内置函数,但是,我找不到聚合索引的方法。您是否想为此问题提供任何提示或解决方案?

1 个答案:

答案 0 :(得分:3)

我认为您可以先将index的顺序改为[::-1],然后groupbyapply index改为list。最后sort_index

print (df[::-1].groupby('word', sort=False).apply(lambda x: x.index.tolist()).sort_index())
word
a      [2, 0]
an        [3]
the    [4, 1]
dtype: object

另一个类似的解决方案:

print (df.sort_index(ascending=False)
         .groupby('word', sort=False)
         .apply(lambda x: x.index.tolist())
         .sort_index())
word
a      [2, 0]
an        [3]
the    [4, 1]
dtype: object