Skip to main content
 首页 » 编程设计

python之列表中的 Numpy 掩码

2025年05月04日18Leo_wl

使用 np.where 或类似方法从列表中保存元素的最简单方法是什么?

一个简短的例子:

l1 = [-144.92170726320364, 697.7739312692029, -2.0, -2.0] 

我想保留与-2.0 不同的元素。我试过:

l2 = [l1[index] for index in len(l1) if l1[index] != -2.0] 

还有:

l3 = np.where(l1 != -2.0) 

在第一种情况下,我收到了错误。在第二种情况下,我获得了 (array([0]),)。

感谢您的帮助。

请您参考如下方法:

如果您将 list 更改为 numpy.array

>>> import numpy as np 
>>> l1 = np.array([-144.92170726320364, 697.7739312692029, -2.0, -2.0]) 

你可以对标量进行比较

>>> l1 != -2.0 
array([ True,  True, False, False], dtype=bool) 

然后使用该表达式索引到您的原始数组

>>> l1[l1 != -2.0] 
array([-144.92170726,  697.77393127])