相关疑难解决方法(0)

数值处理二维数组的最快方法:数据帧 vs 系列 vs 数组 vs numba

编辑补充:我不认为 numba 基准是公平的,下面的注释

我正在尝试对以下用例的数值处理数据的不同方法进行基准测试:

  1. 相当大的数据集(100,000+ 条记录)
  2. 100 多行相当简单的代码 (z = x + y)
  3. 不需要排序或索引

换句话说,不需要系列和数据框的完全通用性,尽管它们被包含在 b/c 中,但它们仍然是封装数据的便捷方式,并且经常有预处理或后处理确实需要熊猫的通用性numpy 数组。

问题:基于此用例,以下基准是否合适,如果不合适,我该如何改进它们?

# importing pandas, numpy, Series, DataFrame in standard way
from numba import jit
nobs = 10000
nlines = 100

def proc_df():
   df = DataFrame({ 'x': np.random.randn(nobs),
                    'y': np.random.randn(nobs) })
   for i in range(nlines):
      df['z'] = df.x + df.y
   return df.z

def proc_ser():
   x = Series(np.random.randn(nobs))
   y = Series(np.random.randn(nobs))
   for i in range(nlines):
      z = x + y
   return z …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas numba

2
推荐指数
1
解决办法
2869
查看次数

标签 统计

numba ×1

numpy ×1

pandas ×1

python ×1