Python中Pandas和NumPy+SciPy有什么区别?

207

它们看起来非常相似,我很好奇哪个软件包对金融数据分析更有益。

3个回答

328

pandas提供了建立在NumPy之上的高级数据操作工具。NumPy本身是一种相当低级的工具,类似于MATLAB。另一方面,pandas提供了丰富的时间序列功能、数据对齐、NA友好的统计学、分组、合并和连接方法以及许多其他便利功能。近年来,在金融应用中它变得非常流行。在我的即将出版的书中,我将有一个章节专门介绍如何使用pandas进行金融数据分析。


228
你应该提到你是pandas的主要作者。 :)相关书籍:http://shop.oreilly.com/product/0636920023784.do - Yktula
3
可以这样说,NumPy主要提供高效的数组,而Pandas则提供高效的字典。在两种情况下,仅限于一致的数据类型,而不是自由格式。对我来说(我现在刚开始研究它),这似乎是潜在的区别:处理标签配对数据(在1d中即字典和2d中即表格)。由于此,数据对齐,联接等都变得“可能”,但对于那些不了解这种基本差异的人来说,甚至不清楚这些意味着什么(例如,“两个NumPy数组的数据对齐”是什么意思?)。 - Brandyn
7
“NA-friendly statistics” 在我的回答中提到,意思是“对缺失值友好的统计方法”。可能这个问题有点傻,但我希望你明白了这个术语的含义。 - Adil Abbasi
7
他指的是考虑缺失数据(NA,“不可用”)的统计数据。 - Siva-Sg
4
冷门话题,但是在使用NumPy进行复杂操作时与在Pandas中简化语法后的性能差异如何? 使用高级、易于语法的方法是否会有性能成本? - 3pitt
未提及numpy和pandas之间的差异,例如numpy在许多低级应用程序中速度更快。我不确定为什么会被投票支持。 - Matthaeus Gaius Caesar

62

Numpy是pandas(以及Python中几乎所有数值工具)所必需的。Scipy并非pandas所必需,但被列为“可选依赖项”。我不会说pandas是Numpy和/或Scipy的替代品,而是它是一个额外的工具,为在Python中使用数字和表格数据提供了更简化的方法。您可以使用pandas数据结构,但可以自由地利用Numpy和Scipy函数来操作它们。


4

Pandas提供了一种很好的操作表格的方式,你可以轻松地进行分箱(在Python中使用pandas对数据框进行分箱)和计算统计量。另一个在Pandas中非常出色的功能是Panel类,你可以使用groupby函数将具有不同属性的系列层级联并组合起来。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接