Python 如何从npy文件创建和加载3维numpy.ndarray读取?

Python 如何从npy文件创建和加载3维numpy.ndarray读取?,python,arrays,numpy,neural-network,reshape,Python,Arrays,Numpy,Neural Network,Reshape,我有不同的.npy文件,其中保存了numpy数组(或表示为矩阵的图像,维度=64,另一个我不知道) 我想阅读它们,将它们存储在三维的数组中 到目前为止,我所做的是一些非常不同的事情,我在处理我创建的结构时遇到了问题 database_list = list() labels_list = list() for filename in glob.glob('*.npy'): database_list.append(np.load(filename)) label_temp = extr

我有不同的.npy文件,其中保存了numpy数组(或表示为矩阵的图像,维度=64,另一个我不知道)

我想阅读它们,将它们存储在三维的数组中

到目前为止,我所做的是一些非常不同的事情,我在处理我创建的结构时遇到了问题

database_list = list()
labels_list = list()

for filename in glob.glob('*.npy'):
  database_list.append(np.load(filename))
  label_temp = extract_label(filename)
  labels_list.append(label_temp)

database = np.array(database_list)
labels = np.array(labels_list)

这样,我就有了一个numpy.ndarray
数据库
,其形状
(n_元素,)

假设我将每个图像重塑为(n,64),我希望
数据库
的形状为
(n\u元素,n,64)

我怎么做

我想要实现的是一个与MNIST数据库形状相同的数组,用于处理神经网络

编辑:


数据库
类型为
numpy.ndarray
。它不能被重塑,
数据库的大小是n,比如说10(因为它由n个元素组成,例如10个文件被加载时是10个。这些文件是二维矩阵,但我希望它们是数据库的“一部分”)

对于
数据库=np.array(database_list)
使用shape
制作一个3d数组(n_元素,dim1,dim2)
,数据库列表必须包含所有形状(dim1、dim2)的数组。如果它们的形状不同,结果将是一个(n_个元素)形状的数组,带有对象数据类型(或者在某些情况下会抛出错误)。

什么是
数据库。数据类型
?可能是反对。这意味着
database\u list
包含各种形状的数组。加载一小部分文件,然后打印
[x.shape for x in database\u list]
以检查形状。您有什么问题?你只是在问如何重塑NumPy数组?@hpaulj好的,在将图像加载到NumPy数组之前,我尝试了重塑图像的形状,数组自动变为形状(n_元素,dim1,dim2)。谢谢。如果你把它作为答案写下来,我就结束这个问题。