如何在Python中循环nd.array

时间:2016-10-27 12:37:00

标签: python python-3.x if-statement for-loop

我有一个N维数组= X,我想检查X中的每个值是否大于0.35。我写道: -

for number in X:
    if (.35> number):  # Here error occurs
        print (enumerate(number))

但是我收到了这个错误:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我想保存X中每个小于0.35的值的索引

1 个答案:

答案 0 :(得分:2)

使用NumPy时,您必须始终努力在矢量空间中操作。这意味着不写for循环,也不写in等等。

对于您目前的情况,您可以这样做:

print(X[X < 0.35])

这比写循环要快得多。如果必须在不同的行上打印它们,您可以:

values = X[X < 0.35]
np.savetxt(sys.stdout, values)