Каким будет код в python для удаления столбцов пропущенных значений (набор данных: Df) при указанных ниже условиях - PullRequest
0 голосов
/ 25 апреля 2020
  1. Если в каких-либо столбцах пропущенные значения превышают 40%.
  2. Если в каких-либо столбцах пропущенные значения превышают 40% и столбец не равен "TARGET"
  3. Если в любых столбцах пропущенные значения составляют более 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...