x animal
0 5 [dog, cat]
1 6 [dog]
2 8 [elephant]
私はこのようなデータフレームを持っています。どのようにして、最も頻繁な動物が列のすべてのリストに含まれているかを見つけることができます。パンダ:リストの列で最も頻繁に使用される値を見つける
メソッドvalue_counts()はリストを1つの要素とみなし、使用できません。
x animal
0 5 [dog, cat]
1 6 [dog]
2 8 [elephant]
私はこのようなデータフレームを持っています。どのようにして、最も頻繁な動物が列のすべてのリストに含まれているかを見つけることができます。パンダ:リストの列で最も頻繁に使用される値を見つける
メソッドvalue_counts()はリストを1つの要素とみなし、使用できません。
これらの行に沿って何か?
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)]
おそらく一歩前倒ししてデータ構造を再定義しますか?あなたのデータフレームが「フラット」であれば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'])
だけでなく、他の多くのパンダの事で簡単にカウントすることができます!あなたのデータフレームを平らにする
それは目的を果たしていますか? @Alex Zaitsev –
はい、それは動作します、ありがとう! –