J'essaie d'imputer des valeurs Null avec un décalage qui correspond à la moyenne de la ligne df [row, 'avg'] et la moyenne de la colonne ('impute [col]'). Existe-t-il un moyen de faire cela qui rendrait la méthode parallélisée avec .map? Ou existe-t-il un meilleur moyen de parcourir les index contenant des valeurs Null?Python Pandas imputation de valeurs nulles
test = pd.DataFrame({'a':[None,2,3,1], 'b':[2,np.nan,4,2],
'c':[3,4,np.nan,3], 'avg':[2.5,3,3.5,2]});
df = df[['a', 'b', 'c', 'avg']];
impute = dict({'a':2, 'b':3.33, 'c':6 })
def smarterImpute(df, impute):
df2 = df
for col in df.columns[:-1]:
for row in test.index:
if pd.isnull(df.loc[row,col]):
df2.loc[row, col] = impute[col]
+ (df.loc[:,'avg'].mean() - df.loc[row,'avg'])
return print(df2)
smarterImpute(test, impute)
Cela a fonctionné! Merci, je n'étais pas au courant de la méthode .combine_first. – MyopicVisage