Có thể có một mảng bản ghi 3-D ở dạng khối không? (Có thể điều này là không thể, hoặc đơn giản chỉ là một cách dễ dàng hơn để làm những việc quá - tôi mở cho các tùy chọn khác).mảng bản ghi numpy 3d
Giả sử tôi muốn một mảng chứa dữ liệu cho 3 biến (nói tạm thời, precip, độ ẩm) và dữ liệu của mỗi biến thực sự là mảng 2-d 2 năm (hàng) và 6 tháng dữ liệu (cột), tôi có thể tạo ra điều đó như thế này:
>>> import numpy as np
>>> d = np.array(np.arange(3*2*6).reshape(3,2,6))
>>> d
#
# comments added for explanation...
# jan feb mar apr may Jun
array([[[ 0, 1, 2, 3, 4, 5], # yr1 temp
[ 6, 7, 8, 9, 10, 11]], # yr2 temp
[[12, 13, 14, 15, 16, 17], # yr1 precip
[18, 19, 20, 21, 22, 23]], # yr2 precip
[[24, 25, 26, 27, 28, 29], # yr1 humidity
[30, 31, 32, 33, 34, 35]]]) # yr2 humidity
tôi muốn để có thể gõ:
>>> d['temp']
và có được điều này (người đầu tiên "trang" của dữ liệu):
>>> array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
hay:
>>> d['Jan'] # assume months are Jan-June
và có được điều này
>>> array([[0,6],
[12,18],
[24,30]])
Tôi đã từng trải qua điều này: http://www.scipy.org/RecordArrays một số lần, nhưng không thấy cách thiết lập những gì tôi sau đó.
hmm, ok, mà một phần xác nhận sự nhầm lẫn của tôi. Gấu trúc trông lý tưởng, cảm ơn! – tbc