簡體   English   中英

如何有效地將Numpy數組大塊改組

[英]How to efficiently shuffle numpy array in chunks

我有一個類似下面的[-1,0,1,0,1,2,1,2,3,...,n-1,n,n + 1,n,n + 1, n + 2 ..]我想將數組以3為單位隨機播放,是否有一種有效的方法可以在numpy中進行處理?

我知道您可以使用下面的shuffle方法對numpy數組進行shuffle,但這為我提供了一個完整的shuffle數組。 有沒有一種方法可以將其在numpy中以大塊的形式隨機播放?

import numpy.random as rng

ind = numpy.arange(100)
rng = numpy.random.RandomState(123)
rng.shuffle(ind)

重塑為3列。 shuffle doc說,它只是對第一維進行了洗牌:

ind=np.arange(99)  # multple of 3
ind=ind.reshape(-1,3)
rng.shuffle(ind)
ind.flatten()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM