Si tengo una lista:

a = [np.array([1,1,1]), np.array([1,1,1]), np.array([1,1,1])]

¿Cómo hacer algo como, a.count(np.array([1,1,1])? Esto arroja:

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

¿Hay una función similar a .count()?

3
Aravindh Vasu 25 dic. 2019 a las 07:02

2 respuestas

Puede usar np.array_equal con { {X1}} en el generador:

>>> sum(np.array_equal(x, [1,1,1]) for x in a)
3
1
Austin 25 dic. 2019 a las 04:18

O asigne np.array_equal y aplique count al resultado

map(lambda x: np.array_equal(np.array([1,1,1]),x), a).count(True)
1
Dmitri Chubarov 25 dic. 2019 a las 04:21