[python][科学计算][numpy]使用指南7-读写
2019-02-27 本文已影响0人
jiedawang
最后一次更新日期: 2019/2/27
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象(ndarray)和用于处理数组的例程集合组成的库。
使用NumPy,开发人员可以执行以下操作:
- 数组的算数和逻辑运算。
- 傅立叶变换和用于图形操作的例程。
- 与线性代数有关的操作。 NumPy 拥有线性代数和随机数生成的内置函数。
使用前先导入模块:
import numpy as np
numpy 可使用专用的npy
和npz
格式或常见的txt
格式存储ndarray
的数据。
1. 保存
In [803]: a=np.array([1,2,3,4])
In [804]: b=np.array([[5,6],[7,8]])
In [805]: np.save('D:\\out.npy',a)
In [806]: np.savez('D:\\out.npz',a,b=b)
In [807]: np.savetxt('D:\\out.txt',b,fmt="%d", delimiter=",")
拓展名可以省略,会自动补全。无法自动创建文件夹。
save
用于保存单个数组为npy
格式文件。
savez
用于保存多个数组为npz
格式文件,没有使用关键字参数传递的数组会自动命名为arr_0,arr_1,...
。
savetxt
用于保存单个数组为txt
格式文件,参数fmt
指定保存时的字符串转换,参数delimiter
指定分隔符,注意在读取时也需要指定分隔符。分隔符的设置对一维数组无效,二维以上的数组不适合用该方法保存。
2. 加载
In [835]: np.load('D:\\out.npy')
Out[835]: array([1, 2, 3, 4])
In [836]: npz=np.load('D:\\out.npz')
In [837]: npz['arr_0']
Out[837]: array([1, 2, 3, 4])
In [838]: npz['b']
Out[838]:
array([[5, 6],
[7, 8]])
In [841]: np.loadtxt('D:\\out.txt',dtype='int',delimiter=',')
Out[841]:
array([[5, 6],
[7, 8]])
np.load
读取npz
格式文件会得到一个NpzFile
对象,之后通过保存时设置的名称进行[]
索引可以取得每一个数组。