Skip to main content
 首页 » 编程设计

python之如何加快 Numpy 中的行选择

2025年05月04日7mfrbuaa

我有一个相当大的数据集 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 吗?