Vì vậy, trong numpy 1.8.2 (với python 2.7.6) có vẻ như là một vấn đề trong mảng phân chia. Khi thực hiện phân chia tại chỗ của một mảng đủ lớn (ít nhất 8192 phần tử, nhiều hơn một thứ nguyên, kiểu dữ liệu không liên quan) với một phần của chính nó, hành vi không phù hợp với các ký hiệu khác nhau.Hành vi không mong muốn theo dạng gumpy, khi chia mảng
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))
Đầu ra dự kiến là 0, vì hai bộ phận phải nhất quán, nhưng là 1808. Đây có phải là lỗi không? Nó cũng xảy ra trong các phiên bản khác không?
Một đồng nghiệp đã chỉ ra rằng hành vi này có thể là do lý do, rằng arr [0] chỉ là một khung nhìn của arr và do đó bị thay đổi trong quá trình vận hành tại chỗ. – Dschoni