是否存在类似于R的Python pandas函数dplyr::mutate(),该函数可以通过在分组数据的列之一上应用函数来向分组数据添加新列?下面是对该问题的详细说明:
我使用以下代码生成了示例数据:
x <- data.frame(country = rep(c("US", "UK"), 5), state = c(letters[1:10]), pop=sample(10000:50000,10))
Run Code Online (Sandbox Code Playgroud)
现在,我想添加一个新列,该列具有美国和英国的最大人口。我可以使用以下R代码来做到这一点...
x <- group_by(x, country)
x <- mutate(x,max_pop = max(pop))
x <- arrange(x, country)
Run Code Online (Sandbox Code Playgroud)
...或等效地,使用R dplyr管道运算符:
x %>% group_by(country) %>% mutate(max_pop = max(pop)) %>% arrange(country)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是我如何在Python中使用熊猫做到这一点?我尝试了以下操作,但没有成功
x['max_pop'] = x.groupby('country').pop.apply(max)
Run Code Online (Sandbox Code Playgroud)