numpy.ndarray vs pandas.DataFrame

Ada*_*ski 15 python numpy python-3.x pandas

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

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

我知道以下参赛者:

清单 array.array

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

numpy.ndarray

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

pandas.DataFrame

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

我看,那pandas.DataFrame就是不再基础上numpy.ndarray(虽然它共享相同的接口).任何人都可以对此有所了解吗?或者可能有更好的数据结构?

dan*_*iel 19

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

  • 我知道这违反了SO的规则,但这正是我所寻找的观点。谢谢! (2认同)