2016-12-07 7 views

答えて

4

これらの行に沿って何か?

import pandas as pd 
df = pd.DataFrame({'x' : [5,6,8], 'animal' : [['dog', 'cat'], ['elephant'], ['dog']]}) 
x = sum(df.animal, []) 
#x 
#Out[15]: ['dog', 'cat', 'elephant', 'dog'] 

from collections import Counter 
c = Counter(x) 
c.most_common(1) 
#Out[17]: [('dog', 2)] 
+0

それは目的を果たしていますか? @Alex Zaitsev –

+0

はい、それは動作します、ありがとう! –

0

おそらく一歩前倒ししてデータ構造を再定義しますか?あなたのデータフレームが「フラット」であればPandasがより適しています。

の代わりに:

x animal 
0 5 [dog, cat] 
1 6 [dog] 
2 8 [elephant] 

の操作を行います。

x animal 
0 5 dog 
1 5 cat 
2 6 dog 
3 8 elephant 

今、あなたはlen(df[df['animal'] == 'dog'])だけでなく、他の多くのパンダの事で簡単にカウントすることができます!あなたのデータフレームを平らにする

、この答えを参照: Flatten a column with value of type list while duplicating the other column's value accordingly in Pandas

関連する問題