NumPy numpy.save()的使用
Python的numpy模块提供了一个名为numpy.save()的函数,将数组保存到以.npy格式的二进制文件中。在许多情况下,我们需要以二进制格式来操作数据。
语法
numpy.save(file, arr, allow_pickle=True, fix_imports=True)
参数
file: str、file或pathlib.path
此参数定义要保存数据的文件或文件名。如果此参数是文件对象,则文件名不会改变。如果 file 参数是路径或字符串,则文件名将添加.npy扩展名,并且在没有扩展名时会添加。
allow_pickle:bool(可选)
此参数用于允许将对象保存到pickle。禁止使用pickle的原因是安全性和概率。
fix_imports:bool(可选)
如果将fix_imports设置为True,则pickle会将新Python3名称映射到Python2中使用的旧模块名称。这使得pickle数据流可用于Python2读取。
示例1
import numpy as np
from tempfile import TemporaryFile
out_file = TemporaryFile()
x=np.arange(15)
np.save(out_file, x)
_=out_file.seek(0) # Only needed here to simulate closing & reopening file
np.load(outfile)
输出:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
在上述代码中:
- 我们用别名np导入了numpy库。
- 我们还从tempfile库导入了TemporaryFile。
- 我们创建了一个TemporaryFile对象 out_file 。
- 我们使用函数 arange() 创建了一个数组 ‘x’ 。
- 我们使用函数 np.save() 将数组的元素以二进制形式保存在 npy 文件中。
- 我们在函数中传递了数组 ‘x’ 和文件名 filename 。
- 我们使用函数 seek(0) 关闭并重新打开文件。
- 最后,我们尝试加载 out_file 。
输出中显示了一个包含 out_file.npy 中元素的数组。
示例2
import numpy as np
from tempfile import TemporaryFile
outfile = TemporaryFile()
x=np.arange(15)
np.save(outfile, x, allow_pickle=False)
_=outfile.seek(0) # Only needed here to simulate closing & reopening file
np.load(outfile)
输出:
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])