2015-11-17 22 views
9
 Y1961  Y1962  Y1963  Y1964  Y1965 Region 
0 82.567307 83.104757 83.183700 83.030338 82.831958 US 
1 2.699372 2.610110 2.587919 2.696451 2.846247 US 
2 14.131355 13.690028 13.599516 13.649176 13.649046 US 
3 0.048589 0.046982 0.046583 0.046225 0.051750 US 
4 0.553377 0.548123 0.582282 0.577811 0.620999 US 

Nel dataframe sopra, vorrei ottenere la media di ogni riga. attualmente, lo sto facendo:Media riga di riga nei panda

df.mean(axis=0) 

Tuttavia, questo elimina anche la colonna Regione. come posso calcolare media e anche mantenere la colonna di regione

+0

Ciao, potresti pubblicare il reale e cosa ti aspetti? – WoodChopper

risposta

16

È possibile specificare una nuova colonna. È inoltre necessario calcolare la media lungo le righe, quindi utilizzare axis=1.

df['mean'] = df.mean(axis=1) 
>>> df 
     Y1961  Y1962  Y1963  Y1964  Y1965 Region  mean 
0 82.567307 83.104757 83.183700 83.030338 82.831958  US 82.943612 
1 2.699372 2.610110 2.587919 2.696451 2.846247  US 2.688020 
2 14.131355 13.690028 13.599516 13.649176 13.649046  US 13.743824 
3 0.048589 0.046982 0.046583 0.046225 0.051750  US 0.048026 
4 0.553377 0.548123 0.582282 0.577811 0.620999  US 0.576518 
+1

grazie @Alexander, funziona! Ricevo un messaggio di avviso: un valore sta tentando di essere impostato su una copia di una sezione da un DataFrame. Prova a utilizzare .loc [row_indexer, col_indexer] = valore invece. Come posso evitarlo? – user308827

+1

Questo dovrebbe eliminare l'avviso: 'df = df.assign (mean = df.mean (axis = 1))' – Alexander

0

Se stai cercando una colonna media. Prova questo,

df.drop('Region', axis=1).apply(lambda x: x.mean()) 

# it drops the Region column 
df.drop('Region', axis=1) 
Problemi correlati