繁体   English   中英

r是python中的rep()特性

[英]r's rep() feature in python

我对python相对较新,仍然在搞清楚。 我想检查在python中是否有相当于r的 rep命令来复制整个向量而不是每个元素。 我使用numpy.repeat,但它只重复给定次数的每个元素,有没有办法调整它重复整个向量?

例:

y=np.repeat(np.arange(0,2),3)
print(y)
array([0, 0, 0, 1, 1, 1])

使用r代表的预期输出

 a<-c(0,1)
 rep(a,3)
 0 1 0 1 0 1

我无论如何都不是R的专家,但据我所知,这就是你要找的:

>>> np.tile([0, 1], 3)
array([0, 1, 0, 1, 0, 1])

你的预期输出不是在python中(即使这是你想要的)但是如果我试图翻译它基本上你想要一些变换让我们说[0,1,2][0,1,2,0,1,2,0,1,2 ...]具有任意数量的重复

在python中,你可以简单地将一个列表与一个数字相乘得到:

lst = [0,1]
lst2  = lst*3
print(lst2)

这将打印[0, 1, 0, 1, 0, 1]

直接来自文档。 np.repeat只需将iterable中存在的元素重复到参数中指定的次数。

除了已经发布的内容之外,还有使用itertools的repeatchain

from itertools import repeat, chain
list(chain(*(repeat((1,2),3)))) # [1, 2, 1, 2, 1, 2]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM