在MATLAB中,有一种屏蔽类型的操作,逻辑如下:
A=randn(1,10) % vector with 10 random values
% logical mask indexing:
A(A<0)=NaN % setting values smaller than 0 to NaN
在Python中是否有一个简单的等效操作? 我没找到。
答案 0 :(得分:1)
import random
a = [random.random() - 0.5 for _ in range (10)]
a = [None if i < 0 else i for i in a]
如果你正在使用长数组(如果你正在做类似MATLAB的东西),你可能需要考虑numpy
,因为它可以更有效率。
import numpy as np
a = np.random.rand(10) - 0.5
a[a<0] = np.NaN