numpy.ndarray vs pandas.DataFrame

时间:2014-08-08 10:15:18

标签: python python-3.x numpy pandas

我需要做出一个战略决策,选择在我的程序中保存统计数据框架的数据结构的基础。

我在一张大桌子上存储了数十万条记录。每个字段都是不同的类型,包括短字符串。我会对需要快速实时完成的数据进行多元回归分析和操作。我还需要使用相对受欢迎且得到很好支持的东西。

我了解以下参赛者:

array.array

的列表

这是最基本的事情。不幸的是它不支持字符串。而且我还需要使用numpy作为统计部分,所以这个是不可能的。

numpy.ndarray

ndarray能够在每列中保存不同类型的数组(例如np.dtype([('name', np.str_, 16), ('grades', np.float64, (2,))]))。这似乎是一个天生的赢家,但是......

pandas.DataFrame

这个是在考虑统计用途的情况下构建的,但它是否足够有效?

我读到pandas.DataFrameno longer based on the numpy.ndarray(尽管它共享相同的界面)。任何人都可以对此有所了解吗?或者可能有更好的数据结构?

1 个答案:

答案 0 :(得分:17)

pandas.DataFrame非常棒,与很多numpy交互得非常好。大部分DataFrame都是用Cython编写的,并且经过了相当优化。我怀疑Pandas API的易用性和丰富性将大大超过你在numpy周围滚动自己的界面所能获得的任何潜在好处。

相关问题