如何用numpy检查每行的每个元素的条件

时间:2017-04-06 15:39:39

标签: python numpy

对于机器学习,我应用Parzen Window算法。

我有一个数组(m,n)。如果任何值为>我想检查每一行。 0.5如果每个,那么我会返回0,否则返回1.

我想知道是否有办法在没有循环的情况下执行此操作,这要归功于numpy。

3 个答案:

答案 0 :(得分:2)

您可以在布尔数组上使用np.allaxis=1

import numpy as np
arr = np.array([[0.8, 0.9], [0.1, 0.6], [0.2, 0.3]])

print(np.all(arr>0.5, axis=1))
>> [True False False]

答案 1 :(得分:0)

  

我有一个数组(m,n)。如果任何值为>我想检查每一行。 0.5

它将存储在b

import numpy as np
a =  # some np.array of shape (m,n)
b = np.any(a > 0.5, axis=1)
  

如果每个都是,那么我会返回0,否则返回1.

我假设你的意思'并且如果所有行都是这种情况'。在这种情况下:

c = 1 - 1 * np.all(b)

c包含您的返回值,01

答案 2 :(得分:0)

import numpy as np

# Value Initialization
a = np.array([0.75, 0.25, 0.50])
y_predict = np.zeros((1, a.shape[0]))

#If the value is greater than 0.5, the value is 1; otherwise 0
y_predict = (a > 0.5).astype(float)