Python - 全局numpy数组的问题

时间:2014-06-08 08:13:27

标签: python arrays numpy global

我对全局numpy数组有一些问题:

d = 2
n = 20
samples = np.empty([0,d])
weights = []

def read_input(n):

    npoints = mg.sample(n) #returns a d-dimensional np array of random numbers 
    global samples
    samples = np.vstack((samples,npoints))
    print samples
    return (npoints)

现在调用read_input以我想要的方式打印样本(每次将npoints附加到全局样本)并返回npoints。但是打电话给

print samples
函数外部的

只打印一个空数组[]。

有谁知道为什么会这样?我用常规列表测试了它,并且.extend工作得很好。它只是导致麻烦的numpy阵列。

提前致谢。

编辑:

这里是可运行代码的示例数据:

import numpy as np

d = 2
n = 20
samples = np.empty([0,d])
weights = []

def read_input(a):

    npoints = [[1.02, 0.50],[0.98, 0.56],[0.38, 2.29],[0.53, 0.12]] 
    global samples
    samples = np.vstack((samples,npoints))
    print samples
    return (npoints)

我刚注意到,如果我将函数调用和打印样本直接写入.py文件,它就可以了。之前我只是在ipython中手动输入它。所以我想我刚刚解决了这个问题。

非常感谢:)

0 个答案:

没有答案