当前位置: 首页 > 面试题库 >

如何从numpy数组中提取多个随机子序列

邢小云
2023-03-14
问题内容

说我有一个序列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数组和。我需要从中选择随机行,并将其存储在数组中,并将其对应的值附加到随机选择的点的索引上。 我有另一个数组,它存储我不想采样的索引列表。 我怎样才能做到这一点? 样本数据: 如果这些是随机选择的(其中): 所需的输出将是: 我怎样才能做到这一点? 问题答案: 您可以使用以下方法创建随机索引: 然后,您只需要使用结果索引数组:

  • 问题内容: 我有一个非常大的2D数组,看起来像这样: 使用numpy,是否有一种简单的方法来获得一个新的2D数组,例如从初始数组中获得2个随机行(无需替换)? 例如 问题答案: 一般情况下将其放在一起: 对于非替换(numpy 1.7.0+): 我不认为有一种很好的方法可以在不替换1.7之前生成随机列表。也许您可以设置一个小的定义,以确保两个值不相同。

  • 问题内容: 我有一个数组叫做 我需要从该数组中获取一个随机值并将其存储在变量中,我该怎么做? 问题答案: 您还可以执行以下操作: 当您有关联数组时,这就是这样做的方法。

  • 问题内容: 我正在研究“如何从javascript中的数组随机访问元素”。我发现了许多与此有关的链接。 问题: 但是在这种情况下,我们只能从数组中选择一项,如果我们想要多个元素,那么我们将如何实现这一点,所以请仅从该语句中获取一个数组中的多个元素。 问题答案: 尝试以下无损快速功能:

  • 问题内容: 我有一个很大的数组,其中每一行都是一个时间序列,因此需要保持秩序。 我想为每行选择一个给定大小的随机窗口。 在我看来,理想的解决方案是: 但不幸的是,这不起作用 我现在要进行的操作非常慢: 当然,我可以对列表进行理解(并获得最小的速度提升),但是我想知道是否有某种超级聪明的numpy向量化方​​法可以做到这一点。 问题答案: 这是一种杠杆作用- 在具有行的更大数组上进行运行时测试-

  • 我想要这样的结果。依靠这个数组,我想在其中得到一个随机值。