小编Ist*_*rel的帖子

使用随机长度的块生成1d numpy

我需要生成一维数组,其中重复的整数序列由随机数的零分隔.

到目前为止,我正在使用下一个代码:

from random import normalvariate

regular_sequence = np.array([1,2,3,4,5], dtype=np.int)
n_iter = 10
lag_mean = 10 # mean length of zeros sequence
lag_sd = 1 # standard deviation of zeros sequence length

# Sequence of lags lengths
lag_seq = [int(round(normalvariate(lag_mean, lag_sd))) for x in range(n_iter)]

# Generate list of concatenated zeros and regular sequences
seq = [np.concatenate((np.zeros(x, dtype=np.int), regular_sequence)) for x in lag_seq]
seq = np.concatenate(seq)
Run Code Online (Sandbox Code Playgroud)

当我需要很多长序列时它可以工作但看起来很慢.那么,我该如何优化呢?

python arrays numpy

6
推荐指数
1
解决办法
312
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1