2013-01-10 4 views

risposta

41

è possibile utilizzare il metodo value_counts:

In [10]: ser.value_counts() 
Out[10]: 
two  3 
one  1 
three 1 

e quindi plot this as a bar chart:

ser.value_counts().plot(kind='bar') 

Modifica: ho notato che questo non mantiene l'ordine desiderato. Se si dispone di un elenco/Series per questo ordinamento (in questo caso ser[:3] farà) è possibile reindex prima della stampa:

In [12]: ser.value_counts().reindex(ser[:3]) 
Out[12]: 
one  1 
two  3 
three 1 
+3

che è esattamente quello che stavo cercando. Grazie mille! –

+1

Un'alternativa è usare il [seaborn] (https://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.countplot.html) 'countplot'. – Romain