Numpy logical_or pour les opérations d'union multi-tableaux
La fonction logical_or de Numpy opère sur des paires de tableaux, ce qui soulève la question de savoir comment combiner efficacement plusieurs tableaux pour les opérations d'union (de même pour logical_and et les intersections).
Pendant que logical_or lui-même n'accepte que deux arguments, il peut être enchaîné :
x = np.array([True, True, False, False]) y = np.array([True, False, True, False]) z = np.array([False, False, False, False]) result = np.logical_or(np.logical_or(x, y), z) # result: [ True, True, True, False]
Une approche plus généralisée consiste à utiliser réduire :
result = np.logical_or.reduce((x, y, z)) # result: [ True, True, True, False]
Cette méthode peut être appliquée aux deux tableaux multidimensionnels et des tuples de tableaux 1D. De plus, functools.reduce de Python peut être utilisé de la même manière :
result = functools.reduce(np.logical_or, (x, y, z)) # result: [ True, True, True, False]
Pour plus de commodité, Numpy fournit any, qui effectue essentiellement une réduction OU logique le long d'un axe :
result = np.any((x, y, z), axis=0) # result: [ True, True, True, False]
Similaire les principes s'appliquent à logical_and et à d'autres opérateurs logiques, à l'exception de logical_xor, qui n'a pas de fonction all/any-type correspondante.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!