是否可以在 numpy 中有一个 3-D 记录数组?(也许这是不可能的,或者也有一种更简单的方法来做事——我对其他选择持开放态度)。
假设我想要一个包含 3 个变量(比如温度、降水、湿度)数据的数组,并且每个变量的数据实际上是 2 年(行)和 6 个月数据(列)的二维数组,我可以创建它像这样:
>>> 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
我希望能够输入:
>>> d['temp']
并得到这个(数据的第一个“页面”):
>>> array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
或者:
>>> d['Jan'] # assume months are Jan-June
得到这个
>>> array([[0,6],
[12,18],
[24,30]])
我已经经历了很多次:http ://www.scipy.org/RecordArrays ,但不知道我是如何设置的。