Gần đây tôi đã áp dụng giải pháp này để tính trung bình mỗi N hàng của ma trận. Mặc dù giải pháp nói chung hoạt động nhưng tôi đã gặp sự cố khi áp dụng cho mảng 7x1. Tôi đã nhận thấy rằng vấn đề là khi sử dụng -=
nhà điều hành. Để làm một ví dụ nhỏ:
import numpy as np
a = np.array([1,2,3])
b = np.copy(a)
a[1:] -= a[:-1]
b[1:] = b[1:] - b[:-1]
print a
print b
kết quả đầu ra:
[1 1 2]
[1 1 1]
Vì vậy, trong trường hợp một mảng a -= b
tạo ra kết quả khác với a = a - b
. Tôi nghĩ cho đến bây giờ rằng hai cách này hoàn toàn giống nhau. Sự khác biệt là gì?
Tại sao phương pháp tôi đang đề cập để tính tổng mọi N hàng trong ma trận lại hoạt động, ví dụ như đối với ma trận 7x4 nhưng không hoạt động đối với mảng 7x1?