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?
Vous pouvez simplement utiliser np.mean
directement:
>>> np.mean([a, b, c], axis=0)
array([ 30., 20., 30.])
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
'''