python - 如何加快 Numpy 中的行选择?

标签 python numpy

我有一个相当大的数据集 raw,我最初选择这样的行:

raw = np.array(Some Matrix)
selected = [r for r in raw if r[1] == '20130525' and r[2] < 120000]

但这真的很慢,有人知道如何使用 Numpy 的内置函数加快速度吗?

最佳答案

这将是标准的 numpythonic 方法:

selected = raw[(raw[:, 1] == '20130525') & (raw[:, 2] == 120000)]

但是如果你有一个 object 类型的数组,加速可能会很微弱,正如混合数据类型所暗示的那样。你到底在处理什么?可以改用 recarray 吗?

关于python - 如何加快 Numpy 中的行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18050765/

相关文章:

python - 在 CLI 中打印 DataFrame 时如何应用边框?

python - 按多列对数据框中的连续条目进行聚类/分组

python - 将 numpy.random.normal 与数组一起使用

python - 在稀疏矩阵中取对数函数的有效方法

python - 如何确定黑盒是多项式还是指数

python - 有没有办法从 python 中的迭代输出实例化变量?

python - 获取对象列表中属性值最大的对象列表

python - 用 Flask 重写 URL

python - numpy.ndarray 中值的计数

python - 有人可以解释一下这段代码的第二个版本是如何工作的吗?