Python 声明大小未知的2D numpy数组

Python 声明大小未知的2D numpy数组,python,numpy,multidimensional-array,Python,Numpy,Multidimensional Array,我是新来的。我正在尝试定义一个二维numpy数组来读取图像,其大小会有所不同。因此,我无法预定义数组的大小。我的代码是 np.ndarray(np.float64) I for i in range(len(filename)): I=imread(filename) //reading an image here I1=I.resize(256,256) //resizing the image 请建议对代码进行更正 提前谢谢。如果您不知道之前的大小,请不要使用n

我是新来的。我正在尝试定义一个二维numpy数组来读取图像,其大小会有所不同。因此,我无法预定义数组的大小。我的代码是

np.ndarray(np.float64) I
for i in range(len(filename)):
    I=imread(filename)     //reading an image here
    I1=I.resize(256,256)   //resizing the image
请建议对代码进行更正


提前谢谢。

如果您不知道之前的大小,请不要使用numpy数组来累积值。使用灵活的容器(例如
列表
),然后转换为numpy数组

如果您使用的是非常大的东西,那么还有
numpy.fromiter
,它的工作效率会更高一些,但是您必须跳过几个环才能将其用于>1D阵列

作为第一个建议的示例,假设我们正在创建一个总是有10列的数组,但是我们无法知道有多少行。我们将使用一个列表来存储每一行,然后在末尾转换为二维数组:

import numpy as np

data = []

random_val = 1
while random_val > 0.05:
    data.append(np.arange(10))
    random_val = np.random.random()

data = np.array(data)
print data.shape

仅仅
I=imread(文件名)
有什么问题?其他一切似乎都是多余的。我想知道为什么否决票。。。