簡體   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