je code comme ceciMoyenne pondérée - omettre les données manquantes si de la valeur ou du poids
>>> import pandas as pd
>>> import numpy as np
>>>
>>> df1 = pd.DataFrame({'value':[10,20,np.nan,40],
... 'weight':[1,np.nan,3,4]})
>>> df1
value weight
0 10.0 1.0
1 20.0 NaN
2 NaN 3.0
3 40.0 4.0
>>> (df1["value"] * df1["weight"]).sum()/df1["weight"].sum()
21.25
Je veux omettre les données de calcul si les valeurs ou le poids est manquant. je.je veux moyenne pondérée comme comme (10 * 1 + 40 * 4)/(1 + 4) = 34
S'il vous plaît aider si cela est possible en utilisant une seule expression dans les pandas.