Python 3 - применить операцию AND к двум логическим значениям для двух матриц в позиции p - PullRequest
0 голосов
/ 27 марта 2020

У меня есть матрица и транспонированный экземпляр. Я хочу применить операцию &, чтобы определить, равны ли оба значения True. Если оба значения равны True, я получу return True.

В моем распоряжении есть Numpy, однако я не вижу функции, которая позволила бы мне;

m1[i][j] & m2[i][j]

для все пары элементов.

Ответы [ 2 ]

2 голосов
/ 27 марта 2020

Допустим, у нас есть этот массив numpy, вы можете использовать logical_and вместе с zip, как в этом примере:

import numpy as np

$> a = np.array([[1, 2], [np.nan, 3]]) 
$> np.logical_and(*a)

array([ True,  True])

Также:

$> a = np.array([[np.nan, 2], [None, 3]]) 
$> np.logical_and(*a)                                                     
array([None, 3], dtype=object)

И :

$> a = np.array([[False, True], [True, True]]) 
$> np.logical_and(*a) 
array([False,  True])
0 голосов
/ 27 марта 2020

Как вы это написали, возвращаемое значение (в никуда) будет побитовой операцией между m1 [i] [j] и m2 [i] [j]. Если вы хотите проверить, верны ли оба значения, вы хотите использовать:

m1[i][j] && m2[i][j]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...