0

编辑:从我的评论中复制,为问题提供更多背景信息

我忘记提到的一件重要的事情是我的最终目标是将其作为一列添加到熊猫数据框中。由于多个维度,我在尝试将像素数组按原样放入数据帧时遇到错误。

我有一个 32x32 图像,我想将其展平为一个 1-D numpy 数组,该数组表示一个具有该像素处 RGB 值的对象。

img = Image.open(img_path)
pixels = np.asarray(img)
width, height = img.size
pixels = pixels.reshape(width * height, 3)

目前这是我能做的最好的事情,而不会丢失一个对象中的 RGB 值分组。然而,通过这个实现,我得到一个二维数组,每个元素都是这样的 RGB 值数组。

shape: (1024, 3)
[[255 255 255]
 [255 255 255]
 [255 255 255]
 ...
 [255 255 255]
 [255 255 255]
 [255 255 255]]

我希望我的数组具有形状(1024,1),并且每个元素都是 RGB 值的某个对象(可能是一个元组?)。谢谢。

4

1 回答 1

0

cf 注释,数组作为数据框或系列:

dataframe = pd.DataFrame(pixels)   # As a dataframe with one column per color channel
column = dataframe.apply(tuple, axis=1)  # As a Series of (r,g,b) tuples

然后column,如果您愿意,可以将其用作另一个数据框的列

于 2020-05-24T02:16:47.003 回答