NumPy教程-numpy.save()在Python中的使用
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中。出于安全和概率的原因,不允许使用pickles。
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])
在上面的代码中:
- 我们导入了numpy,并使用别名np。
- 我们还从tempfile导入了TemporaryFile。
- 我们创建了一个TemporaryFile的对象out_file。
- 我们使用arange()函数创建了一个名为'x'的数组。
- 我们使用np.save()函数将数组的元素保存为二进制格式在.npy文件中。
- 我们将数组'x'和文件名传递给函数。
- 我们使用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]])