【发布时间】:2021-03-14 21:42:20
【问题描述】:
我有一个多维数组是:
d.shape = (744, 1, 288, 315)
第一个维度是小时——所以我想对这个数组进行子集化,这样我就只能得到白天的小时数,所以从 10-17 小时到每次 24 小时的时间段。
我一直在通过创建一个列表进行子集化:
start = 10
end = 17
d_daily = np.array([d[i*24+start:i*24+end] for i in range(31)])
但它很慢。
我觉得应该有一个快速的方法来做一个子集,比如:
d[start:(len(d)-(24-end)):24] # basically, take these 7 steps over and over until the end of the array
但是,这给了我一个 (31, 1, 288, 315) 的数组,而不是我期望的 (217,1,288,315) 输出。
保持数据的顺序也很重要...
我知道这很简单,但非常感谢您的帮助!
谢谢
【问题讨论】:
标签: python arrays numpy indexing slice