Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字典转换为多维数组?_Python_Machine Learning_Computer Vision_Feature Engineering - Fatal编程技术网

Python 将字典转换为多维数组?

Python 将字典转换为多维数组?,python,machine-learning,computer-vision,feature-engineering,Python,Machine Learning,Computer Vision,Feature Engineering,我有一个字典,它存储了4个类的彩色图像数据。每个图像是256*256*3。 我的字典有四个键,分别是“飞机”、“鸟”、“狗”和“猫”。字典中的每个键都有50个维度为256*256*3的数组(每个类的50个图像作为一个三维数组,总共200个图像)。我想将此数据结构转换为200*3*256*256形状数组,该数组已从字典键中提取标签。我怎样才能达到这个最简单的方法?我尝试了numpy重塑,但没有成功。因此我假设您的数据设置如下所示(显然是真实数据而不是随机数据): 我们可以做的是: X = np.c

我有一个字典,它存储了4个类的彩色图像数据。每个图像是256*256*3。
我的字典有四个键,分别是“飞机”、“鸟”、“狗”和“猫”。字典中的每个键都有50个维度为256*256*3的数组(每个类的50个图像作为一个三维数组,总共200个图像)。我想将此数据结构转换为200*3*256*256形状数组,该数组已从字典键中提取标签。我怎样才能达到这个最简单的方法?我尝试了numpy重塑,但没有成功。

因此我假设您的数据设置如下所示(显然是真实数据而不是随机数据):

我们可以做的是:

X = np.concatenate([images[k] for k in classes], axis=0)
y = np.concatenate([[i] * len(images[k]) for i, k in enumerate(classes)])
这就是你想要的,我相信:

>>> X.shape
(200, 256, 256, 3)

>>> y.shape
(200,)

因此,我假设您的数据设置如下所示(显然是真实数据而不是随机数据):

我们可以做的是:

X = np.concatenate([images[k] for k in classes], axis=0)
y = np.concatenate([[i] * len(images[k]) for i, k in enumerate(classes)])
这就是你想要的,我相信:

>>> X.shape
(200, 256, 256, 3)

>>> y.shape
(200,)

与其描述数据,还不如用代码向我们展示一点点数据结构?@LaurenBoland说实话,我觉得这很清楚。如果你真的展示数据和代码,而不是用可能需要解释的文字来描述它,那么数据和代码就更清晰了。但我期待着看到你的答案。:)@LaurenBoland由于它是多维的,我不知道如何在这里表示它,因此我试图如上所述解释它。我可以给你看2D,但不确定3D,或者在这种情况下,我必须将其转换为4-D。与其描述你的数据,还不如在代码中给我们展示一点数据结构?@LaurenBoland说实话,我认为这很清楚。如果你真的展示数据和代码,数据和代码会更加清晰,而不是用可能需要解释的词来描述它。但我期待着看到你的答案。:)@LaurenBoland由于它是多维的,我不知道如何在这里表示它,因此我试图如上所述解释它。我可以给你看2D,但不确定3D是什么,或者在这种情况下我必须把它转换成4-D。非常感谢,它是有效的,一个后续问题,而不是(200,256,256,3),它是否可以作为(200,3256256)。@atp签出
np.swapaxes
。非常感谢,它是有效的,一个后续问题,而不是(200,256,256,3)(200,256,256,3),是否可以将其设为(200,3256256)。@atp Check out
np.swapaxes