python – 如何从numpy数组中提取多个随机子序列
发布时间:2020-12-20 10:33:13 所属栏目:Python 来源:网络整理
导读:说我有一个序列s,我想从中选择n个随机子序列,每个子序列的长度为l,并存储在矩阵中.有没有更多的方式来做到这一点 s = np.arange(0,1000)n = 5l = 10i = np.random.randint(0,len(s)-10,5)ss = np.array([s[x:x+l] for x in i]) 解决方法 我们可以利用基于 np
说我有一个序列s,我想从中选择n个随机子序列,每个子序列的长度为l,并存储在矩阵中.有没有更多的方式来做到这一点
s = np.arange(0,1000) n = 5 l = 10 i = np.random.randint(0,len(s)-10,5) ss = np.array([s[x:x+l] for x in i]) 解决方法
我们可以利用基于
np.lib.stride_tricks.as_strided 的
scikit-image's view_as_windows 进行高效的补丁提取,就像这样 –
from skimage.util.shape import view_as_windows # Get sliding windows (these are simply views) w = view_as_windows(s,l) # Index with indices,i for desired output out = w[i] 相关: NumPy Fancy Indexing – Crop different ROIs from different channels Take N first values from every row in NumPy matrix that fulfill condition Selecting Random Windows from Multidimensional Numpy Array Rows (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |