Maison >développement back-end >Tutoriel Python >Comment effectuer le logical_or de NumPy sur plus de deux tableaux ?
Numpy logical_or pour plus de deux arguments
La fonction logical_or de Numpy ne peut comparer que deux tableaux à la fois. Pour trouver l'union de plus de deux tableaux, vous avez plusieurs options.
Chaînage des appels logical_or
Vous pouvez chaîner plusieurs appels logical_or ensemble, mais cela peut devenir fastidieux. Par exemple :
x = np.array([True, True, False, False]) y = np.array([True, False, True, False]) z = np.array([False, False, False, False]) np.logical_or(np.logical_or(x, y), z)
Utiliser réduire
NumPy fournit une fonction de réduction qui peut généraliser les opérations de chaînage. Par exemple :
np.logical_or.reduce((x, y, z))
Cela renverra un tableau où chaque élément est l'union des éléments correspondants dans les tableaux d'entrée.
Utilisation de functools.reduce de Python
La fonction functools.reduce de Python peut également être utilisée pour cela objectif :
functools.reduce(np.logical_or, (x, y, z))
Cependant, la réduction de NumPy est généralement plus efficace.
Utiliser np.any
La fonction np.any de NumPy peut également être utilisé pour trouver le syndicat. Cependant, il doit être utilisé avec un argument d'axe :
np.any((x, y, z), axis=0)
Cela renverra un tableau où chaque élément est l'union des éléments correspondants dans les tableaux d'entrée le long de l'axe spécifié.
Remarque : Ces techniques s'appliquent également à la fonction logical_and de Numpy pour trouver l'intersection de plus de deux tableaux.
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!