python - Python 中的 plyr 或 dplyr

标签 python r pandas plyr dplyr

这更像是一个概念问题,我没有具体问题。

我正在学习 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/

相关文章:

r - 加速 R 中的嵌套应用代码

r - R中的基本SNA? - 如何加载网络数据

python - 如何使用相对路径使用 pandas 在 data_folder 中打开我的文件?

python - 带数据框的条件语句/If 语句

python - 使用 Qt-GUI 的 Python 程序中的简单文件浏览器/文件选择器?

Python单元测试跳过主应用程序中的特定步骤

python - 通过更新重复索引并将其余索引外连接来组合两个数据帧的最佳方法

python - 查找数组的连续总和

r - 显示 x 轴中断的 y 值

python - 需要帮助格式化 .txt 文件并将其放入数据框中