2016-05-20 16 views
5

Quando applico la funzione curtosi su un datafame panda ottengo sempre seguente errore:Curtosi su Panda dataframe doent funziona

AttributeError: Cannot access callable attribute 'kurt' of 'DataFrameGroupBy' objects, try using the 'apply' method

Il codice di esempio seguente funziona con tutte le altre funzioni statistiche (media(), skew() , ...), ma non con la curtosi.

df = pd.DataFrame([[0,1,1,0,0,1],[0,1,2,4,5]]).T 
df.columns = ['a','b'] 
df.groupby('a').kurt() 

Qualche idea su come applicare kurtosis dopo groupby? Grazie!

+0

Secondo la [documentazione] (http://pandas.pydata.org/pandas-docs/stable/api.html#groupby), 'kurt' non è un metodo della classe 'DataFrameGroupBy', mentre' mean' e 'skew' sono. – IanS

risposta

6

Secondo la API reference, kurt non è un metodo della classe DataFrameGroupBy, mentre mean e skew sono.

Questo dovrebbe funzionare:

df.groupby('a').apply(pd.DataFrame.kurt) 
+1

Questo funziona ... grazie @IanS – Mark

+0

Per un problema simile, ho trovato che avevo bisogno di 'pd.Series.kurt' non' pd.DataFrame.kurt' – Paul