[英]Generating 1d array of shrinking ranges in numpy
我想在numpy中生成一個1D數組,如下所示:
In [181]: np.concatenate((np.arange(1, 4), np.arange(2, 4), np.arange(3, 4)))
Out[181]: array([1, 2, 3, 2, 3, 3])
在更大范圍內,偽代碼:
concatenate(1:n, 2:n, 3:n, ..., n:n)
是否有一種矢量化的方式在numpy和/或pandas中這樣做?
>>> np.triu_indices(4, 1)[1]
array([1, 2, 3, 2, 3, 3])
(正如@SaulloCastro指出的那樣,我沒有像在原始的,接受的答案中那樣使用各種索引到網格網格魔術中。)
我不知道以矢量化方式執行此操作的方法,但您始終可以使用以下內容生成它:
def createSweetRange(n):
for i in xrange(1, n):
for j in xrange(i, n):
yield j
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.