2016-09-04 58 views
-1

我有一個這樣的陣列,蟒:引導通過隨機抽樣

[[ 5.80084178e-05 1.20779787e-02 -2.65970238e-02] 
[ -1.36810406e-02 6.85722519e-02 -2.60280724e-01] 
[ 4.21996519e-01 -1.43644036e-01 2.12904690e-01] 
[ 3.03098198e-02 1.50170659e-02 -1.09683402e-01] 
[ -1.50776089e-03 7.22369575e-03 -3.71181228e-02] 
[ -3.04448275e-01 -3.66987035e-01 1.44618682e-01] 
[ -1.46744916e-01 3.47112167e-01 3.09550267e-01] 
[ 1.16567762e-03 1.72858807e-02 -9.39297514e-02] 
[ 1.25896836e-04 1.61310167e-02 -6.00253128e-02] 
[ 1.65062798e-02 1.96933143e-02 -4.26540031e-02] 
[ -3.78020965e-03 7.51770012e-03 -3.67852984e-02]] 

我想選擇任何n(例如:1000)從這些隨機的行數,從而輸出將是:

[[ -1.36810406e-02 1.72858807e-02 -4.26540031e-02] 
[ 1.16567762e-03 7.51770012e-03 -2.60280724e-01] 
    .... 
    .... 
    ....            ]] 

即輸出行是通過從每列中隨機選擇值來完成的。來自11x3陣列以上的可能樣本數爲11 * 11 * 11。

有人可以幫我在Python中做到這一點?

+3

使用'random.choice','random.sample'。嘗試一下,如果它不起作用,請將您的代碼添加到我們將嘗試修復它的問題中。 –

回答

0

如果上述初始11x3陣列是「A」,

import random 

arr=np.zeros(shape=(1000,5)) 

for k in range(0,1000) : 
    B=[] 
    for i in range(0,3): 
    B.append(random.choice(A.transpose()[i])) 
    arr[k]=B 

簡單地說,「改編」給我我所期待的。但是現在還沒有更好的算法嗎?