pandas 或 R 对纵向数据的优缺点?

数据挖掘 Python r 时间序列 熊猫
2022-03-15 17:16:33

注意:我相信这个问题不是题外话,因为它符合允许主观问题的所有标准如果其他人不同意,我很乐意重新措辞或澄清

我即将开始一个为期两年的项目,主要涉及纵向面板数据。我发现了许多问题和答案(Python 和 R 用于数据科学的优缺点)和博客文章(https://www.quora.com/Which-is-better-for-data-analysis-R-or -Python | http://www.kdnuggets.com/2015/05/r-vs-python-data-science.html ),关于 R 和 Python+pandas 在数据科学方面的相对优点,但没有讨论纵向数据。

因此,我的问题是:

您将使用哪种环境(Python+pandas 或 R)进行纵向数据分析,为什么

例如,我希望看到以下答案:

  • 告诉我你是如何使用一种或两种环境来解决纵向数据的特定问题的
  • 您发现哪个环境或软件包更易于使用,以及为什么
  • 如果您使用诸如烧杯之类的笔记本同时处理多个环境。
  • 如果是这样,您在数据分析管道中的哪个步骤中使用了哪个环境,为什么?
  • 如果是这样,这是否比仅使用一种语言具有优势:您会再次使用这种方法吗?

我不是在问哪个最好(我们都知道这样的问题从来都不是建设性的)。

我对一种环境比另一种更熟悉,但并不反对学习新技能(而且两者都有相似的语法),所以我不会说哪一种:我想要根据你的经验得到答案,而不是我的能力。

2个回答

让我从一般数据的角度来回答这个问题。我知道您想要纵向数据的答案,但我不想具体回答的原因是因为几乎所有这些框架都以类似的方式处理数据。

你应该寻找什么?

1. 你对编码的熟练程度如何?

如果您的代码足够好,并且可以通过编写我建议的 Python + Pandas 来解决大多数问题。原因很简单,因为 Python 是一种编程语言,您可以在运行任务的正常生态系统之外使用该语言。因此,如果您想集成其他组件,例如 Web 服务器、存储在数据库中等。Python 将是最有用的。如果您对编码不满意,那么我建议 R 是要走的路,因为它更容易学习,但是当您尝试做一些事情而不是执行日常数据分析时,就会出现劣势。可能会受到限制

2.在效率方面

现在几乎所有这些工具都运行得非常快,并且几乎没有明显的差异。通常,仅在执行计算的方式上,您就可以使用 R 获得更好的优势。它更优化了一点,它利用 CPU 内核执行比 python 快一点的计算。然而,这些天来,随着大量密集的 RAM 等,它并没有那么大的区别。此外,大多数用于重矩阵计算的库都包含在这两个工具包中。所以其实差别不大。

在我看来

我会选择 Python 只是因为它有多种用途。还为图书馆等提供了很好的支持环境。

来自推特的答案

R + 包

@philmikejones R 一路!(说实话,两者都很好,所以只要按照你有更多了解的东西去做)

- 马克格林 (@markalangreen) 2017 年 5 月 15 日

 

@markalangreen您是否使用了特定的软件包来设置纵向数据,还是仅使用基础R?

— 🌍 Phil (@philmikejones) 2017 年 5 月 15 日

 

@philmikejones取决于你在做什么,但我倾向于坚持使用 data.table - 我认为没有那个“黄金”包

- 马克格林 (@markalangreen) 2017 年 5 月 15 日

 

@markalangreen @philmikejones同意 - 根据我的经验,使用@robjhyndman的预测包的人通常使用 ts(),否则 zoo 或 xts 对象

— andrea panizza (@unsorsodicorda) 2017 年 5 月 15 日

 

所以,建议:

  • data.table(我不是一个大粉丝,但tidyverse很好,因为我的数据不是“大”)
  • forecast包,特别是ts()
  • zooxts物体

预言家

@philmikejones什么是先知?基于@mcmc_stan,在 R & Python 中可用,并没有使用太多,但在我这样做时得到了很好的结果:https ://t.co/Pqat2KevCj

— andrea panizza (@unsorsodicorda) 2017 年 5 月 15 日

 

https://research.fb.com/prophet-forecasting-at-scale/