Tôi có mảng 3 trục có 3 phần tử có các phần tử là 3 chiều. Tôi muốn trung bình chúng và trả về cùng một hình dạng của mảng. Chức năng trung bình bình thường loại bỏ 3 kích thước và thay thế nó với mức trung bình (như dự kiến):mảng numpy trung bình nhưng giữ nguyên hình dạng
a = np.array([[[0.1, 0.2, 0.3], [0.2, 0.3, 0.4]],
[[0.4, 0.4, 0.4], [0.7, 0.6, 0.8]]], np.float32)
b = np.average(a, axis=2)
# b = [[0.2, 0.3],
# [0.4, 0.7]]
quả cần:
# b = [[[0.2, 0.2, 0.2], [0.3, 0.3, 0.3]],
# [[0.4, 0.4, 0.4], [0.7, 0.7, 0.7]]]
Bạn có thể làm điều này tao nhã hay tôi chỉ phải lặp qua mảng trong Python (sẽ chậm hơn rất nhiều so với hàm Numpy mạnh).
Bạn có thể đặt đối số Dtype, cho hàm np.mean, thành một mảng 1D không?
Cảm ơn.
Big fan hâm mộ của những gì bạn muốn nhìn thấy trong câu hỏi. – lukecampbell
Trong hầu hết các trường hợp tôi có thể tưởng tượng, phát sóng sẽ làm điều đó mà không yêu cầu mảng 3D. – tillsten