Python 将字典转换为多维数组?
我有一个字典,它存储了4个类的彩色图像数据。每个图像是256*256*3。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
我的字典有四个键,分别是“飞机”、“鸟”、“狗”和“猫”。字典中的每个键都有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 outnp.swapaxes
。