python - 何时使用 pandas 系列、numpy ndarrays 或简单的 python 字典?

标签 python pandas numpy

我刚开始学习 Python 及其一些库(numpy、pandas)。

我找到了很多关于 如何 numpy ndarrays、pandas 系列和 python 字典工作的文档。

但由于我对 Python 缺乏经验,我很难确定何时使用它们中的每一个。而且我还没有找到任何可以帮助我理解和决定何时最好使用每种数据结构的最佳实践。

一般来说,是否有任何最佳实践来决定应将特定数据集加载到这三种数据结构中的哪一种(如果有)?

最佳答案

我通常采用的经验法则:使用仍能满足您需求的最简单的数据结构。如果我们将数据结构从最简单到最不简单进行排序,结果通常是这样的:

  1. 字典/列表
  2. Numpy 数组
  3. Pandas 系列/数据框

所以首先考虑字典/列表。如果这些允许您执行所需的所有数据操作,那么一切都很好。如果没有,开始考虑 numpy 数组。转向 numpy 数组的一些典型原因是:

  • 您的数据是二维的(或更高维的)。虽然嵌套字典/列表可以用来表示多维数据,但在大多数情况下,numpy 数组会更有效。
  • 你必须进行大量的数值计算。正如 zhqiat 已经指出的那样,在这种情况下,numpy 将提供显着的加速。此外,numpy 数组与大量 mathematical functions 捆绑在一起。 .

还有一些超越 numpy 数组并转向更复杂但也更强大的 pandas 系列/数据帧的典型原因:

  • 您必须将多个数据集相互合并,或者对数据进行 reshape /重新排序。 This diagram很好地概述了 pandas 允许您执行的所有“数据整理”操作。
  • 您必须从特定文件格式(如 Excel、HDF5 或 SQL)导入或导出数据。 Pandas自带方便import/export functions为此。

关于python - 何时使用 pandas 系列、numpy ndarrays 或简单的 python 字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45285743/

相关文章:

python - '鸡'对象没有属性 'rect'

python - 简单的Python Q : idk what produces None when this code's executed

python - 如何传递空的 pandas 查询

python - numpy数组的可变大小

python - 使用 python 从文章中提取数据的多个正则表达式模式

python - 是否有 pandas 函数可以按设定的时间间隔重复行?

python - Pandas 读取没有标题的 csv(可能在那里)

python - 将列表列表附加到 pd.Dataframe()

python - 如何在Python中在正方形中画一个圆?

Python - 有序 header HTTP 请求