这更像是一个概念问题,我没有具体问题。
我正在学习 Python 进行数据分析,但我对 R 非常熟悉 - R 的一大优点是 plyr(当然还有 ggplot2),甚至更好的 dplyr。 Pandas 当然也有拆分应用,但是在 R 中我可以做类似的事情(在 dplyr 中,在 plyr 中有点不同,我现在可以看到 dplyr 如何模仿对象编程中的 . 符号)
data %.% group_by(c(.....)) %.% summarise(new1 = ...., new2 = ...., ..... newn=....)
我同时创建多个汇总计算
我如何在 python 中做到这一点,因为
df[...].groupby(.....).sum() only sums columns,
在 R 上,我可以在一次调用中获得一个均值、一个总和、一个特殊函数等
我意识到我可以单独执行所有操作并将它们合并,如果我使用 python 就可以了,但是当涉及到选择工具时,您不必键入、检查和验证任何代码行时间加起来
此外,在 dplyr 中,您还可以添加 mutate 语句,所以在我看来它更强大 - 所以我对 pandas 或 python 缺少什么 -
我的目标是学习,我花了很多精力学习python,这是一项值得投资,但问题仍然存在
最佳答案
我也是 dplyr for R 的忠实粉丝,并且正在努力提高我对 Pandas 的了解。由于您没有具体问题,我建议您查看下面的帖子,该帖子分解了整个介绍性 dplyr 小插图,并展示了如何使用 Pandas 完成所有这些工作。
例如,作者用 R 中的管道运算符演示了链接:
flights %>%
group_by(year, month, day) %>%
select(arr_delay, dep_delay) %>%
summarise(
arr = mean(arr_delay, na.rm = TRUE),
dep = mean(dep_delay, na.rm = TRUE)
) %>%
filter(arr > 30 | dep > 30)
这是 Pandas 的实现:
flights.groupby(['year', 'month', 'day'])
[['arr_delay', 'dep_delay']]
.mean()
.query('arr_delay > 30 | dep_delay > 30')
在原帖中有更多关于如何使用 Pandas 实现类似 dplyr 的操作的比较。 http://nbviewer.ipython.org/gist/TomAugspurger/6e052140eaa5fdb6e8c0
关于python - Python 中的 plyr 或 dplyr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26878476/