Python 如何将元素附加到numpy数组

Python 如何将元素附加到numpy数组,python,numpy,Python,Numpy,我想做的工作相当于在Numpy中递归地在python列表中添加元素,如下面的代码所示 matrix = open('workfile', 'w') A = [] for row in matrix: A.append(row) print A 我尝试了以下方法: matrix = open('workfile', 'w') A = np.array([]) for row in matrix: A = numpy.append(row) print A 它不会返回所需的输

我想做的工作相当于在Numpy中递归地在python列表中添加元素,如下面的代码所示

matrix = open('workfile', 'w')
A = []
for row in matrix:
    A.append(row)

print A
我尝试了以下方法:

matrix = open('workfile', 'w')
A = np.array([])
for row in matrix:
    A = numpy.append(row)

print A
它不会返回所需的输出,如列表中所示

编辑这是示例代码:

mat = scipy.io.loadmat('file.mat')
var1 = mat['data1']
A = np.array([])
for row in var1:
    np.append(A, row)

print A

这只是我想做的最简单的例子,但是循环中有更多的数据处理,我这样说是为了让示例更清楚。

您需要将数组A传递给Numpy

matrix = open('workfile', 'w')
A = np.array([])
for row in matrix:
    A = numpy.append(A, row)

print A

但是,直接从文件加载可能是一个更好的解决方案。

在我看来,这是一种迭代方式,而不是递归方式。。。也。。。你有没有看过仅仅使用
np.loadtxt
从文件中加载数据?你的问题都与递归无关。您只是在使用循环,这与递归不同。除此之外,你的第二个例子中还有很多愚蠢之处。您试图将可能任意长度的字符串放入Numpy数组。变量“matrix”表示该文件仅包含数字仅包含数字的文件可以使用
np.loadtxt
np.genfromtxt
加载。附加到NumPy数组的速度很慢。如果可以,请避免这样做。这只是一个示例,我知道如何将文件加载到numpy数组,而且我知道这样做更好,问题是在必须像for循环那样迭代的情况下,如何将值附加到numpy数组。请参阅提供的示例代码,运行代码会返回空数组[]您确定您的输入文件已开始正确读取/具有适当的数据吗?对于范围(5)中的i:np.append(A,i)给出了:array([0.])array([1.])array([2.])array([3.])array([4.])array([4.]),因此我相信这是有效的。这是我正在运行的程序,因为范围(5)中的i:np.append(A,i)打印一个它返回[],感谢它现在正在工作。有没有办法在程序中将i保存为列或行?@user3025898使用。它需要将轴与转置对齐,即a=numpy.append(a,row.T,axis=1)