Quindi, in numpy 1.8.2 (con python 2.7.6) sembra esserci un problema nella divisione dell'array. Quando si esegue la divisione sul posto di un array sufficientemente grande (almeno 8192 elementi, più di una dimensione, il tipo di dati è irrilevante) con una parte di sé, il comportamento è incoerente per diverse notazioni.Comportamento imprevisto in numpy, quando si dividono gli array
import numpy as np
arr = np.random.rand(2, 5000)
arr_copy = arr.copy()
arr_copy = arr_copy/arr_copy[0]
arr /= arr[0]
print np.sum(arr != arr_copy), arr.size - np.sum(np.isclose(arr, arr_copy))
L'uscita è prevista per 0, come le due divisioni dovrebbero essere coerenti, ma è 1808. Si tratta di un bug? Accade anche in altre versioni di Numpy?
Un collega ha sottolineato, che questo comportamento potrebbe essere dovuto al motivo, che arr [0] è solo una vista di arr e quindi modificato durante l'operazione sul posto. – Dschoni