接下来我们介绍一些基本操作方法:
一维,二维数据:
通常的方法是使用CSV文件。
保存:
np.savetxt(frame,array,fmt,delimiter)
frame:文件,也可以是压缩文件的名字
array:写入文件的数组
fmt:写入文件的格式%d %.3f %.18e科学计数法
delimiter:分割字符串,默认是空格
实例:
a=np.arange(100).reshape(5,20)
np.savetxt('a.csv',a,fmt='%.2f',delimiter=',')
加载:
np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False)
unpack:
True将会使读入的属性写入不同的数组变量
None会写入相同的数组变量
更高维的数据:
对于更高维的数据,我们使用两个文件来存储,一个用来存储转化为一维的array,另一个存储shape:
存取任意维度数据:
保存:
a.tofile(frame,sep='',format='%s')
frame:文件、字符串
sep:数据分割字符串,若为'',则存储为二进制文件,若为","则为存储为字符串
format:写入数据的格式
实例:
a=np.arange(100).reshape(5,10,2)
a.tofile("b.dat",sep=',',format="%s")
np.fromfile(frame,dtype,count,sep)
frame:文件,字符串
dtype:数据类型
count:-1默认为读入整个文件
sep:分隔符,读入二进制文件时为空字符串
二者需要配合使用,而且在存储时数组类型与维度信息会缺失。
高维数据存储便捷方法:
最便捷的方法,是直接将array存储为npy文件格式:
np.save(fname,array)或np.savez(frame,array)
前者为.npy,后者以压缩形式存储为.npz
np.load(fname)读取,这样可以完整的存取数组的信息