2011-10-28 62 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