Cómo contar la ocurrencia de cada valor único en pandas.

Tengo un gran dataframe de pandas, me gustaría contar la ocurrencia de cada valor único en él, trato de seguir pero lleva mucho tiempo y uso de la memoria. ¿Cómo puedo hacerlo de forma pythonica?

pack=[] for index,row in packets.iterrows (): pack.extend(pd.Series(row).dropna().values.tolist()) unique, count= np.unique(pack, return_counts=True) counts= np.asarray((unique, count)) 

Parece que desea calcular los recuentos de valores en todas las columnas . Puede acoplarlo a una serie, soltar NaN y llamar a value_counts . Aquí hay una muestra:

 df ab 0 1.0 NaN 1 1.0 NaN 2 3.0 3.0 3 NaN 4.0 4 5.0 NaN 5 NaN 4.0 6 NaN 5.0 
 pd.Series(df.values.ravel()).dropna().value_counts() 5.0 2 4.0 2 3.0 2 1.0 2 dtype: int64 

Otro método es con np.unique

 u, c = np.unique(pd.Series(df.values.ravel()).dropna().values, return_counts=True) pd.Series(c, index=u) 1.0 2 3.0 2 4.0 2 5.0 2 dtype: int64 

Tenga en cuenta que el primer método ordena los resultados en orden descendente de cuentas, mientras que el último no lo hace.