python - 加快 np.arange( 1,100) 下值的求和速度

标签 python numpy pandas

我正在循环访问一系列数字,然后计算一系列小于或等于每个范围成员的内容:

min_odds_range = np.arange( 1.01, 2.0, 0.01 )
df_result = pd.DataFrame( columns=[ 'FILLS' ], index=min_odds_range )
for mo in min_odds_range:
    df_result[ 'FILLS' ] = my_stats[ 'PRICE' ]<=mo

循环代码是我的程序中最慢的部分。

怎样才能加快速度?我尝试过使用下面的代码进行广播,但它给了我一个 NotImplemented 异常:

runner_stats[ 'MIN_ODDS' ].lt( pd.DataFrame( np.arange( 1.0, 2.0, 0.1 ) ) )

最佳答案

在我看来,您的代码生成了一个数据帧 df_result,其中有一列“FILLS”,然后该列被覆盖 10 次。只有 for 循环的最后一次迭代才真正对数据集执行任何操作。

这段代码将做同样的事情,但没有循环。我很确定你在逻辑上遗漏了一些东西。

min_odds_range = np.arange( 1.01, 2.0, 0.01 )
df_result = pd.DataFrame( columns=[ 'FILLS' ], index=min_odds_range )
df_result[ 'FILLS' ] = my_stats[ 'PRICE' ] <= 2.0

如果您能为 my_stats 提供一些示例数据并告诉我们您的目标是什么,那么我们会更容易为您提供帮助。

关于python - 加快 np.arange( 1,100) 下值的求和速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26113894/

相关文章:

python - 没有 fabfile 的结构 - 运行和 sudo 给出错误,但不是本地的

python - 我可以使用 Win32 COM 替换 word 文档中的文本吗?

python - 如何从 Flask API 调用中删除全局变量?

python - 使用预定义的列转换数据帧 Pandas

python - 如何根据查找数据框检查由字符串列表组成的数据框并执行计算?

python - 如何将上下文添加到 Python 中的异常

python - python中稀疏矩阵的相关系数?

python - 为什么用 OpenCV 保存图像会产生黑色图像?

python - 强制 Python Pandas DataFrame( read_csv() 方法)避免/不将我的 csv/txt 文件的第一行视为标题

python - 在 Pandas 数据框中完全打印很长的字符串