2011-10-28 119 views
1

我這樣做的代碼:蟒(numpy的) - 另一種方式來產生陣列(從另一陣列)

from scitools.std import * 


npoints=10 

vectorpoint=array(random.uniform(-1,1,[1,2])) 
experiment=array(random.uniform(-1,1,[npoints,2])) 
print("vectorpoint=",vectorpoint) 
print("experiment=",experiment) 
print(vectorpoint.shape) 
print(experiment.shape) 

工作正常。 我想問一下,「實驗」數組是否可以用另一種方式編寫,例如「experiment = [vectorpoint,npoints]」。我想使用vectorpoint數組。

(我不想從頭再來寫 「random.uniform(-1,1,[npoints,2])」。

回答

1

如果你想experiment要與npoints線的陣列,其都等於vectorpoint,您可以使用

experiment = vstack([vectorpoint] * npoints) 

如果你想experiment有由random.uniform()獨立產生npoints線,你必須再次調用後者的功能,因爲vectorpoint僅包含由random.uniform()返回的數值和n o關於它是如何生成的信息。如果重複困擾你,你可以把它移到一個函數:

def uniform(lines): 
    return random.uniform(-1, 1, [lines, 2]) 

(請注意,您的array使用是多餘的 - 的random.uniform()返回值已經是一個數組。)

+0

好,非常感謝很多! – George