2016-12-07 5 views

Antwort

4

etwas in diese Richtung?

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

den Zweck dient? @Alex Zaitsev –

+0

ja, es funktioniert, danke! –

0

Vielleicht einen Schritt zurück und definieren Sie Ihre Datenstruktur neu? Pandas ist besser geeignet, wenn Ihr Datenrahmen "flach" ist.

Statt:

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

Do:

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

Jetzt können Sie leicht mit len(df[df['animal'] == 'dog']) sowie vielen anderen Pandas Dingen zählen!

Ihre Datenrahmen zu glätten, verweisen diese Antwort: Flatten a column with value of type list while duplicating the other column's value accordingly in Pandas

Verwandte Themen