python - 是否可以将 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 文件,其中一列包含像素值。
然后我尝试将 CSV 数据读回一个 numpy 数组,但加载时数据严重混乱,因为图像只是模糊了。该数组还显示为“。” 在它之前没有做的每个数字之后。
filename = "array.csv"
data = np.loadtxt(filename, delimiter=',')
new= np.array((data).reshape(100,224,224),order='F')
我错过了什么吗?请协助?
解决方案
然后我尝试将 csv 数据读回 numpy 数组,但数据严重混乱
不要使用order
参数或始终使用它。您首先将其展平,F
但在重新整形时未指定 order 参数,默认为C
. 我认为您尝试这样做,但order
参数放置在错误的函数中,它应该在里面reshape
。
该数组还显示为“。” 在它之前没有做的每个数字之后。
读取与dtype
先前矩阵相同的数据,例如data = np.loadtxt(filename, delimiter=',', dype=int)
. 既然你没有给出一个dtype
它被转换为float
我认为。
推荐阅读
- android - Android 9 (Pie) - 无法通过 Charles proxy 和 Fiddler 等网络监控工具捕获任何 api (native / web)
- html - CSS 网格重新创建
- c# - 每当我拉下我的 ASP.NET Web API 存储库时,VSCode intellisense 都会报告错误,为什么?
- bit - 一个字节中带有位选项标志的 7 位循环缓冲区
- python - 在python中猴子修补类的语法
- azure - 将 SSIS 提升并转移到 Azure SQL DB(连接管理器错误)
- windows - Get-ChildItem 尝试扫描网络以查找所有 .mdb 文件时出错
- python - Python:用换行符打印 ujson
- ruby-on-rails - Rails Postgres 查询无法返回新记录
- azure - 逻辑应用 - 从文档中提取的 PartitionKey 与标题中指定的不匹配