我想用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的一些内置函数,但是,我找不到聚合索引的方法。您是否想为此问题提供任何提示或解决方案?
答案 0 :(得分:3)
我认为您可以先将index
的顺序改为[::-1]
,然后groupby
和apply
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