2012-08-26 16 views
19

Sto cercando di capire come ordinare i risultati di pandas.DataFrame.groupby.mean() in modo intelligente.panda - come ordinare il risultato di DataFrame.groupby.mean()?

ho generare un aggregato di mia dataframe in questo modo:

means = df.testColumn.groupby(df.testCategory).mean() 

ora cercare di risolvere questo valore, ma ottengo un errore:

means.sort() 
... 
-> Exception: This Series is a view of some other array, to sort in-place you must create a copy 

Allora provo creazione di una copia:

meansCopy = Series(means) 
meansCopy.sort() 
-> Exception: This Series is a view of some other array, to sort in-place you must create a copy 

Come posso far funzionare questo tipo?

risposta

27

Provare a utilizzare order, vale a dire means = means.order()

+5

Tutto questo .sort_index(), .argsort() e così via è molto confusa ... doc non dice molto ... – smci

+0

d'accordo con @smci. Se qualcuno potesse modificare questa risposta per spiegarlo meglio, sarebbe molto apprezzato. Mi sono imbattuto in questo problema con una serie selezionata da un frame di dati (al contrario di qualcosa da groupby). –

+1

Puoi usare '.sort (inplace = False)', che è equivalente a '.order()'. La differenza è che 'order' crea un nuovo oggetto Series e' sort' non per impostazione predefinita. – NeoJi

Problemi correlati