3.数组读写方法
在使用numpy科学计算时,我们想保存一些矩阵和数组数据。但维度较大,有三维,四维甚至五维。此时上述方法对数据的读写就很麻烦。numpy提供了较方便保存数组和矩阵的函数
- 二进制格式读写npy文件
使用save和load函数保存和加载数组
import numpy as np
x = np.array([1,2,3])
np.save('save',x)
x = np.load('save.npy')
- 二进制格式读写npz文件
npz文件即多个npy的压缩保存,使用savez和load保存和加载多个数组
import numpy as np
x = np.array([1,2,3])
y = np.sin(x)
np.savez('save',a=x,b=y) #给定键值以便加载访问
r = np.load('save.npz')
x = r['a']
y = r['b']
- 文本格式读写
numpy还提供了文本保存格式函数savetxt,不同于二进制格式,文本文件可以直接打开查看内容
但是savetxt方法无法保存三维及以上的数组。此时可以对数组先降维,加载后再升维。
import numpy as np
x = np.ones([1,2,3,4]) #四维数组无法直接保存为txt文件
y = x.flatten()
np.savetxt('save.txt')
r = np.load('save.txt')
x = np.reshape(r,(1,2,3,4))