【发布时间】:2017-01-08 19:55:12
【问题描述】:
我正在创建一个包含两列的 DataFrame:一个扁平灰度图像和一个标签。
创建数据框后,一切都正确,所有图像都有正确的值。但是,当我输出到 csv 时,它在 csv 中将一维图像数组写成 [0 0 0 ..., 0 0 0]。对我做错了什么有什么想法吗?
代码大致包括以下内容:
images=[]
labels=[]
#Run the following in a loop
image = ndimage.imread(image_file, flatten=True)
image.resize((500,500), refcheck=False)
image = np.ndarray.flatten(image)
label = 'xyz'
images.append(image)
labels.append(label)
#After the loop ends create a dataframe and save it
df_images = pd.DataFrame({'image':images, 'label':labels})
df_images.to_csv('labeled_images.csv')
.head() 给出以下删减数据:
0 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... stemmed
1 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... stemmed
2 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... stemmed
3 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... stemmed
对数据框的长度和最大值的测试表明它已正确填充。
编辑:我在如何将其保存到 csv 方面很灵活,但我更喜欢单列保存图像的像素数据,而单列保存图像的正确标签。主要目标是处理图像并将它们的像素值保存到 csv 中,这样我就不必每次运行分类器时都重新处理和加载。
【问题讨论】:
-
你真的需要熊猫吗?您可能会对纯 csv 解决方案感兴趣吗?你需要 pandas csv 添加的额外计数器列吗?
-
我想将数据加载到 pandas 中,因为这涉及更多的数据处理,并最终将图像输入到 sklearn 分类器中。我不需要任何额外的列,只需要图像和标签。
-
您可以在问题中包含
df_images.head()吗? -
这里的问题是您创建了两列,一列用于数据(它是列表的列表),另一列用于列。所以 pandas 每列存储 1 个元素:因此是列表。数据框还可以,只是序列化不行。你能edit你的帖子显示预期的 csv 输出吗?
标签: python csv pandas dataframe