web-dev-qa-db-fra.com

python numpy ndarray moyenne par élément

Je voudrais calculer la moyenne élément par élément de Numpy Ndarray.

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

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

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

Ce que je veux:

[30, 20, 30]

Existe-t-il une fonction intégrée pour cette opération, autre que la somme vectorisée et la division? 

16
Aerin

Vous pouvez simplement utiliser np.mean directement:

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

Les Pandas DataFrames ont des opérations intégrées pour obtenir des moyennes de colonnes et de lignes. Le code suivant peut vous aider:

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
'''
2
Agarp