Как проверить, равны ли numy массивы - PullRequest
0 голосов
/ 04 ноября 2018

Я делал некоторые упражнения в numpy, в частности, для вещания, но я застрял ..
Может кто-нибудь объяснить, как использовать assert?

def fill_0(n):
    return np.zeros(n) -1

def fill_1(n):
    return np.zeros(n) *(-1)

def fill_2(n):
    return - np.ones(n)

def fill_3(n):
    return - np.ones(n) -2

assert fill_0(4) == fill_1(4) == fill_2(4) == fill_3(4)

1 Ответ

0 голосов
/ 04 ноября 2018

Я бы сделал это так:

np.testing.assert_array_equal(fill_0(4), fill_1(4))
np.testing.assert_array_equal(fill_0(4), fill_2(4))
np.testing.assert_array_equal(fill_0(4), fill_3(4))

Это значительно упрощает определение места сбоя (поскольку каждая пара представляет собой отдельную линию), и работает, даже если в данных есть NaN, тогда как регулярное сравнение на равенство не будет выполнено (потому что NaN == NaN - False ).

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