Я не вижу своего неявного кастинга

У меня есть следующий метод:

def unify_np_array(A):
    '''Set every nonzero element in a numpy array to 1'''
    nonzero = A > 0
    A[nonzero] /= A[nonzero]
    return A

Который я называю со следующим тестовым кодом:

def test_small_np(self):
    r = np.array([[3, 0], [0, 2]])
    DataConverter.unify_np_array(r)
    e = np.array([[1, 0], [0, 1]])
    np.testing.assert_array_equal(r, e)

Модульный тест прошел успешно, но я получил следующее предупреждение:

DeprecationWarning: Implicitly casting between incompatible kinds. 
In a future numpy release, this will raise an error. 
Use casting="unsafe" if this is intentional.
  A[nonzero] /= A[nonzero]

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

0 ответов

Другие вопросы по тегам