Tôi cố gắng để reimplement trong python một chức năng IDL:thay đổi kích thước với trung bình hoặc rebin một mảng 2ngày NumPy
http://star.pst.qub.ac.uk/idl/REBIN.html
mà downsizes bởi một yếu tố nguyên một mảng 2ngày bằng trung bình.
Ví dụ:
>>> a=np.arange(24).reshape((4,6))
>>> a
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23]])
Tôi muốn thay đổi kích thước (2,3) bằng cách lấy giá trị trung bình của các mẫu có liên quan, sản lượng dự kiến sẽ là:
>>> b = rebin(a, (2, 3))
>>> b
array([[ 3.5, 5.5, 7.5],
[ 15.5, 17.5, 19.5]])
tức b[0,0] = np.mean(a[:2,:2]), b[0,1] = np.mean(a[:2,2:4])
và vân vân.
Tôi tin rằng tôi nên định hình lại thành mảng 4 chiều và sau đó lấy giá trị trung bình trên đúng lát, nhưng không thể tìm ra thuật toán. Bạn có gợi ý gì không?
chỉ thấy bây giờ điều này là một bản sao của http://stackoverflow.com/questions/4624112/grouping-2d-numpy-array-in-average, tuy nhiên tôi không thể tìm thấy điều này trước khi sử dụng chức năng tìm kiếm trong stackoverflow. –