Как применить MICE Imputation для каждой группы из pandas - PullRequest
0 голосов
/ 26 мая 2020

У меня есть фрейм данных, заполненный NA, и я использую sh, чтобы заполнить их, используя технику MICE из sklearn или fancyimpute, но для каждой группы данных я группирую данные с помощью переменной категории, это единственная категориальная переменная

from fancyimpute import IterativeImputer
def mice_impute(df):
  df_numeric = df.select_dtypes(include=[np.float])
  #numeric_vals = df_numeric.as_matrix()
  MICE_imputer = IterativeImputer()
  df_grp = df.groupby("category").transform(lambda x: MICE_imputer.fit_transform(x))
  return df_grp


mice_impute(df_train_1)

Проблема с этим кодом в том, что fit_transform функция исключает 2D-массив, но x - это серия (но группа должна быть 2-м массивом, не так ли)?

Итак, как я могу заполнить na в моем фрейме данных, применив технику MICE к каждой группе и вернуть полный фрейм данных?

...