我想遍历一个numpy ndarray,如果任何值小于X,则将其中一个替换为X。
我尝试做array_name[ array_name < X] = X
,但这会替换所有小于X的值。
我可以使用for循环,但是我觉得numpy已经捆绑了一种更简洁的方法。
for i in array_name:
if i < X:
i = X
break
有没有办法更优雅地做到这一点?
答案 0 :(得分:1)
array_name < X
返回相同的数组,但带有True或False。然后,您可以选择一个单元格为True的索引
idx = np.argwhere(array_name < X)[i]
array_name[idx] = value
在这里,您可以任意选择i