1
# pre-allocate data cube
cube = np.empty((len(time_ix), len(data_ix), len(id_ix)))
cube[:] = np.NaN
# filling of cube
tix=3
idx=5
data = cube[tix,:,idx]

数据大致描述了该 id 当天 20 列的值

我正在创建一个多维数据集来更好地切片我的数据,不幸的是,通过使用这样的语句,我可以用只有float64在存储方面变得非常昂贵的数据类型的数据填充我的第二维。我没有找到将上述多维数据集声明为 rec 数组的方法,以使我可以适应data_ix维度异构数据类型。

或者,有没有办法用 2 个索引来表示一个 3d 数组(多维数据集)以轻松切片(时间和 id)以使用 pandas 数据帧获取相应的数据集?

4

1 回答 1

0

国际大学联盟:

使用 2-D rec 数组

x = np.array([[(1.0, 2), (3.0, 4)], [(0.0, 1), (7.0, 5)]], dtype=[('x', '<f8'), ('y', '<i8')])

然后

x['x']

array([[1., 3.],
       [0., 7.]])

给出一个浮点数组,而

x['y']

array([[2, 4],
       [1, 5]], dtype=int64)

给出一个整数数组

于 2021-03-18T20:38:45.033 回答