利用python进行数据分析
第四章:NumPy基础:数组和矢量计算
1,用于数组的文件输入输出
1,将数组以二进制格式保存到磁盘
np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中的。
np.save可保存二进制格式数据到文件当中
>>> arr=np.arange(10)
>>> np.save('C:\Users\Administrator\Desktop\\arr', arr)
如果文件路径末尾没有扩展名.pny,则该扩展名会被自动加上。可以通过np.load读取磁盘上的数组
>>> np.load('C:\Users\Administrator\Desktop\\arr.npy')
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
通过np.savez可以将多个数组保存到一个压缩文件中,将数组以关键字参数的形式传入即可
>>> np.savez('C:\Users\Administrator\Desktop\\array_archive.npz', a=arr, b=arr)
加载.npz文件时,你会得到一个类似字典的对象,该对象对各个数组进行延迟加载
>>> arch=np.load('C:\Users\Administrator\Desktop\\array_archive.npz')
>>> arch
<numpy.lib.npyio.NpzFile object at 0x0000000003AF3470>
>>> arch.keys()
['a', 'b']
>>> arch['b']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
2,存取文本文件
对于NumPy通常利用np.loadtxt和np.genfromtxt这两个函数将数据加载到普通的NumPy数组中。
这两个函数有许多选项:指定各种分隔符、针对特定列的转化器函数、需要跳过的行数等
>>> arr=np.loadtxt('C:\Users\Administrator\Desktop\\npload.txt', delimiter='\t')
#加载的文件名为npload.txt
>>> arr
array([[ 1.2, 3.4, 7.5, 9. ],
[ 4.1, 4.2, 5.6, 7.4]])
了利用np.savetxt将数组写到以某个分隔符隔开的文本文件中
>>> np.savetxt('C:\Users\Administrator\Desktop\\opt1.txt', arr, delimiter='\t', fmt='%1.1e')
#保存的文件名为opt1.txt
保存形式为:
1.2e+00 3.4e+00 7.5e+00 9.0e+00
4.1e+00 4.2e+00 5.6e+00 7.4e+00
保存为科学输入法格式,每个数字中间以制表符分隔