【发布时间】:2014-03-01 07:53:22
【问题描述】:
假设我将使用 Numpy 数组,我编写了一堆代码。原来我得到的数据是通过熊猫加载的。我现在记得我在 Pandas 中加载了它,因为我在 Numpy 中加载它时遇到了一些问题。我认为数据太大了。
因此我想知道,使用 Numpy 和 Pandas 时计算能力是否存在差异?
如果 Pandas 更高效,那么我宁愿为 Pandas 重写我的所有代码,但如果没有更高的效率,那么我将只使用一个 numpy 数组...
【问题讨论】:
-
这可能是一个太宽泛的问题,没有用处。 pandas 提供了一堆 C 或 Cython 优化的例程,这些例程可以比 numpy “等效”(例如阅读文本)更快。对于点积之类的东西,pandas
DataFrames通常会比 numpy 数组慢,因为 pandas 正在做更多的事情对齐标签,可能处理异构类型等等。 -
@TomAugspurger 嗯,好吧...有没有什么地方可以让我了解它的优势与优化程度较低的地方?
-
我不确定它的单一来源。我可以油嘴滑舌地说自己做:)。分析可能非常重要。 This 不会直接回答您的问题,但无论如何可能会有用。
-
有什么区别?容量差异、性能差异(内存/CPU/并行度/两者?)、算法差异、精度差异(浮点数与双精度、整数与 int64)、行优先与列优先……?请添加细节。