Есть ли функция, аналогичная mutate (dplyr), с помощью которой я могу добавить новый столбец сгруппированных данных, применив функцию на одном из столбцов сгруппированных данных? Ниже приводится подробное описание проблемы:Замените мутате (пакет dplyr) в python pandas
Я генерируемые выборки данных с помощью следующего кода
x<- data.frame(country = rep(c("US", "UK"), 5), state = c(letters[1:10]), pop=sample(10000:50000,10))
Теперь я хочу, чтобы добавить новый столбец, который имеет максимальное население для США и Великобритании. Я могу сделать это с помощью следующей функции в R
x<- group_by(x, country)
x<- mutate(x,max_pop = max(pop))
x<- arrange(x, country)
Так что мой вопрос, как я могу сделать это в Python с помощью панд. Я пробовал следовать, но это не сработало
x['max_pop'] = x.groupby('country').pop.apply(max)
Нет трубопроводов? Один из методов подписи dplyr: 'x%>% group_by (страна)%>% mutate (max_pop = max (pop))%>% arr (страна)' ... где-то программист R немного плачет! – Parfait
Да, но я чувствую себя более комфортно без оператора трубы –
Я понимаю. Вы успеете. Сначала я ненавидел семью Р. Просто оставьте меня в циклах 'for' и' while'. Их было так трудно понять или написать. Теперь я обожаю lapply, mapply, vapply, sapply -methods Pandon's pandas не хватает (без специальных обходных решений). – Parfait