2016-05-25 37 views
9

Mi piacerebbe calcolare la media degli elementi di numpy ndarray.python numpy ndarray media degli elementi

In [56]: a = np.array([10, 20, 30]) 

In [57]: b = np.array([30, 20, 20]) 

In [58]: c = np.array([50, 20, 40]) 

quello che voglio:

[30, 20, 30] 

C'è qualche funzione in-built per questa operazione, diversa somma vettorializzare e la divisione?

risposta

14

Si può semplicemente utilizzare np.mean direttamente:

>>> np.mean([a, b, c], axis=0) 
array([ 30., 20., 30.]) 
1

Pandas DataFrames hanno costruito in operazioni per ottenere colonna e riga significa. Il seguente codice può essere d'aiuto:

import pandas and numpy 
import pandas as pd 
import numpy as np 

# Define a DataFrame 
df = pd.DataFrame([ 
np.arange(1,5), 
np.arange(6,10), 
np.arange(11,15) 
]) 

# Get column means by adding the '.mean' argument 
# to the name of your pandas Data Frame 
# and specifying the axis 

column_means = df.mean(axis = 0) 

''' 
print(column_means) 

0 6.0 
1 7.0 
2 8.0 
3 9.0 
dtype: float64 
''' 

# Get row means by adding the '.mean' argument 
# to the name of your pandas Data Frame 
# and specifying the axis 

row_means = df.mean(axis = 1) 
''' 
print(row_means) 

0  2.5 
1  7.5 
2 12.5 
dtype: float64 
'''