【发布时间】:2017-03-09 13:01:25
【问题描述】:
我正在尝试从图像文件列表(.png 文件)创建熊猫数据框
samples = []
img = misc.imread('a.png')
X = img.reshape(-1, 3)
samples.append(X)
我在这样的示例中添加了多个 .png 文件。然后我正在尝试从中创建一个熊猫数据框。
df = pd.DataFrame(samples)
它抛出错误“ValueError: Must pass 2-d input”。这里有什么问题?是否真的可以将图像文件列表转换为熊猫数据框。我对熊猫完全陌生,所以如果这看起来很傻,请不要介意。
例如。X = [[1,2,3,4],[2,3,4,5]] df = pd.DataFrame(X)
正如预期的那样(第 2 行第 4 列)给了我一个很好的样本 2 数据框,但它不会发生在图像文件中。
【问题讨论】:
-
DataFrame()需要一个数组作为输入,不是吗,不是列表? -
接下来你想用图片中的数据做什么?
-
我需要在上面实现 Isomap,然后需要从中创建一个 2d 散点图,但我没有走到那一步。另请参阅我的问题的最后一部分,我对其进行了编辑。
-
图像是二维数据。 DataFrame 是二维的。如果您想要一个图像数组,该数组将是 3 维数据,那么您可以使用
Panel或 DataFrame 的 Python 列表,但不能使用单个 DataFrame。或者,我认为您可以将图像对象存储在一维Series中,但我不确定这会有什么帮助。 -
您希望
DataFrame的形状是什么?