当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《使用随机长度的块生成1dnumpy》经验,为你挑选了0个好方法。

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

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

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)

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

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有