numpy .npz文件处理

numpy .npz文件处理

0 问题引入

前两天从在GitHub下载了一个代码,其中的数据集是.npz结尾的文件,之前没有见过不知道如何处理。

numpy .npz文件处理
用pycharm 双击点开后发现全是乱码…

numpy .npz文件处理
看了下后缀名.npz感觉应该是个压缩包,于是用解压软件打开看了下,果然!就是python的压缩文件:

numpy .npz文件处理

既然知道了这种格式的文件是一个个文件的集合(压缩文件),下面记录下如何处理这些文件。

; 1 读取文件

我把 mag_cs.npz文件放在了当前目录下的data文件夹下

dataset = np.load('./data/mag_cs.npz', allow_pickle=True)

通过上面这行代码得到的是一个 numpy.lib.npyio.NpzFile文件, NpzFile对象有个重要的属性 files,可以通过它查看这个压缩文件的所有文件名,进一步地,还可以通过 dataset['文件名']来获取文件内容,具体操作如下:

dataset = np.load('./data/mag_cs.npz', allow_pickle=True)
print(dataset.files)
print(len(dataset.files))

numpy .npz文件处理

假设我现在想要获得 adj_matrix.data文件,可以通过dataset[‘adj_matrix.data’]l来获取。

dataset = np.load('./data/mag_cs.npz', allow_pickle=True)
print(dataset['adj_matrix.data'])
print(type(dataset['adj_matrix.data']))
print(dataset['adj_matrix.data'].shape)

numpy .npz文件处理

2保存为.npz文件

为了让我自己的数据集也能跑通我下载的这个模型,我需要将我自己的数据集也处理成这种格式的数据。那如何将自己的数据集处理成.npz文件呢?

x = np.arange(1, 10)
y = np.sin(x)
z = 2 * x + 0.5
np.savez_compressed('./data/my_dataset', x=x, sinx=y, z=z)

numpy .npz文件处理
可以看到, data文件夹下多了个 my_dataset文件夹。

numpy .npz文件处理

Original: https://blog.csdn.net/weixin_36979214/article/details/119169327
Author: 一个不想写代码的程序员
Title: numpy .npz文件处理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/757764/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球