2016-09-22 4 views
1

データフレームのインデックスをgroupby関数で集計したい。Pythonの集計データフレームインデックス

 word count 
0 a  3 
1 the 5 
2 a  3 
3 an 2 
4 the 1 
私が欲しいもの

私はGROUPBYで、いくつかの組み込み関数を試してみた

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

、インデックスのリストで構成されていpd.Series(降順)である、しかし、私は「couldnインデックスを集約する方法を見つける。この問題のヒントや解決方法をご提供しますか?

+0

だから、 'tag'と' count'列をドロップしますか? – IanS

+0

@IanSはい。この質問では、これらの列は役に立たない。私はデータがデータフレームであることを強調しています。 – SUNDONG

答えて

2

私はあなたが最初listgroupbyapplyindex、その後、[::-1]によってindexの順序を変更することができると思います。最終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 
+0

ありがとうございました。私はラムダ関数に慣れる必要がある! – SUNDONG

+0

おめでとうございます! – jezrael