是否可以将numpy数组转换为csv文件,然后将其作为numpy数组加载回去?

我有一个图像数据集。我已经成功地遍历了目录和子目录,将图像存储到numpy数组中。

我使用了以下语句:

Image_array = np.array(Image_array)

我的数组大小是:100x224x224

这可以正常工作,并且图像可以正确存储。但是,我现在正在尝试将此numpy数组保存到CSV文件中。我将numpy数组展平,并将其保存在array.csv文件中,如下所示:

array = array.flatten('F')
np.savetxt('array.csv',array,delimiter=',',fmt='%d')

上面的代码仅创建1个CSV文件,其中一列包含像素值。

然后,我尝试将CS​​V数据读回到numpy数组,但是由于图像刚刚模糊,加载时数据严重混乱。该数组还显示为“。”。在每个之前未做的数字之后。

filename = "array.csv"
data = np.loadtxt(filename,')
new= np.array((data).reshape(100,224,224),order='F')

我想念什么吗?请协助?

wfeng_bit 回答:是否可以将numpy数组转换为csv文件,然后将其作为numpy数组加载回去?

  

然后我尝试将csv数据读回到numpy数组,但数据严重混乱

请勿使用getAttribute("innerHTML")参数或始终使用它。您首先使用order对其进行了展平,但是在重新定型时未指定order参数,该参数默认为F。我认为您尝试执行此操作,但是C参数放置在错误的函数中,它应该位于order内。

  

该数组还显示为“。”。在每个之前未做的数字之后。

使用与之前的矩阵reshape相同的dtype读取数据。由于您没有给出data = np.loadtxt(filename,delimiter=',',dype=int),因此我认为它会转换为dtype

,

Np.flatten()创建一维数组(给出一个csv而不是100)。尝试先分割图像并遍历图像,如下所示:

import numpy as np
x = np.random.rand(100,244,244)
images = [x[i,:,:] for i in range(100)]

然后您的图像会像图像[1],图像[36]等出现,因此您可以像这样保存它们

    def makelist():
        set = []
        for i in range(100):
            set.append(f"array{i}.csv")
        return set
    files = makelist()

    for file in files:
        for image in images:
            np.savetxt(file,image)
本文链接:https://www.f2er.com/3164594.html

大家都在问