Я не вижу своего неявного кастинга
У меня есть следующий метод:
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 массива на себя. Может ли кто-нибудь точно определить состав, который я делаю неявно?