- Если в каких-либо столбцах пропущенные значения превышают 40%.
- Если в каких-либо столбцах пропущенные значения превышают 40% и столбец не равен "TARGET"
- Если в любых столбцах пропущенные значения составляют более 40%, столбец не равен «TARGET» и вменяет другие столбцы пропущенных значений по медиане.
Я сделал с кодом ниже, но пытаюсь для простейшей формы
Df
for column in Df.columns:
if(( (Df.loc[Df, column].isnull().sum()) < 0.4*Df.shape[0])
& (column != "TARGET")):
if(Df[column].dtype == "object"):
tMode = Df.loc[Df, column].mode()[0]
Df[column] = Df[column].fillna(tMode)
else:
tMedian = Df.loc[Df, column].median()
Df[column].fillna(tMedian, inplace = True)
else:
if(column != "TARGET"):
Df.drop([column], axis = 1, inplace = True)