У меня есть датафрейм с ~ 100 столбцами. В R я смог заменить каждый фактор в столбцах 2-100 на среднее значение, связанное с этим фактором из столбца 1, используя следующий код:
tmp <- NULL
for (i in seq(2,100,1)) {
tmp[[i]] <- df %>% group_by(df[[i]]) %>% mutate(mean = mean(column1)) %>%
ungroup()
Пример из более простого фрейма данных:
df1:
Column1 Column2
10 dog
11 dog
9 dog
1 cat
2 cat
3 cat
станет:
df2:
Column1 Column2
10 10
11 10
9 10
1 2
2 2
3 2
Мой вопрос: как это можно сделать в python? Я пытался использовать различные комбинации пакета dfply, но не могу заставить его успешно зацикливаться на каждом столбце, а затем выводить кадр данных, который имеет те же измерения, что и исходный кадр данных.
Спасибо,
Кит.