【发布时间】:2018-03-29 21:47:55
【问题描述】:
在 Python Pandas 中,我想通过在多个列上执行多个聚合函数来添加列,例如 R dplyr mutate_each。 例如,Python Pandas 能否实现和下面的 R 脚本一样的处理?
R dplyr :
iris %>%
group_by(Species) %>%
mutate_each(funs(min, max, mean), starts_with("Sepal"))
但是,我能够使用 Pandas 实现与 mutate 相同的处理。 如下代码所示,我可以执行一个聚合函数并添加一列。
R dplyr :
iris %>% group_by(Species) %>% mutate(MaxSepalLen = max(Sepal.Length))
Python Pandas :
iris.assign(MaxSepalLen = iris.groupby("Species")["Sepal.Length"].transform('max'))
【问题讨论】: