本教程将告诉你如何用Numpy save保存你的Numpy数据集。
它解释了该函数的作用,解释了语法,并展示了如何使用np.save的分步例子。
Numpy save的快速介绍
Numpy save是来自Python的Numpy包的一个函数。
这个函数的作用很简单。
Numpy save将你的Numpy数据保存到一个文件中,该文件可以存储在你的计算机上并与他人共享。
具体来说,np.save()
,将Numpy数组保存为一个二进制文件,结尾为.npy
。
然而,这里面有一些重要的细节,取决于你到底是如何使用这个语法的。
既然如此,我们来看看np.save()
的语法。
Numpy Save的语法
现在你已经了解了Numpy保存函数的作用,让我们来看看它的语法。
一个简单的说明
关于语法的一个快速说明。
在我们使用Numpy函数之前,我们需要将Numpy包导入我们的工作环境。
具体如何做可以改变语法。
通常的惯例是用别名np
来导入Numpy。你可以像这样做。
import numpy as np
下面的一切都假设你已经这样导入了Numpy。
np.save语法
Numpy保存的语法是相当直接的。
假设你已经像上面描述的那样导入了Numpy,你输入函数为np.save()
。
该函数的第一个参数是你想保存数据的文件名。
第二个参数是你想保存的Numpy数组数据。
然后还有一些可选的参数,你可以用它们来修改函数的行为。
Numpy Save的参数和输入
让我们仔细看看该函数的输入和可选参数。
filename
array
allow_pickle
fix_imports
filename
(必填)
filename
参数是该函数的第一个输入。
这个参数严格来说是一个位置参数。在这种情况下,这意味着np.save函数假定该函数的第一个输入是 "文件名"。
这个文件名可以是
- 一个文件对象的名称
- 一个字符串(即一个输出文件的名称,以字符串的形式出现)
- 一个路径
如果文件名参数是一个字符串或路径,该函数将附加文件后缀".npy
",如果它还不是名称的一部分。
array
(必填)
array
输入的是你想保存的数组数据。
这将是一个Numpy数组或一个 "类似数组 "的对象。 所以从技术上讲,你可以在这里输入一个Python列表或其他类似数组的对象。
allow_pickle
默认情况下,这个参数被设置为allow_pickle=True
。这将使用Python腌制技术保存你的数组数据。
腌制你的数据可能会导致一些安全问题(即,当你加载腌制的数据时,它可能会运行恶意代码)。
腌制你的数据可能会导致数据可移植性的问题,因为一些系统可能无法加载腌制的数据(例如,如果他们没有安装所需的包)。
如果你想关闭腌制功能,你可以设置allow_pickle = False
。
fix_imports
这个参数设置为fix_imports = True
。这有助于使pickled输出文件在Python 2系统上兼容和可读,因为有时Python 2和Python 3之间对pickled数据有兼容性问题。
如何使用Numpy保存的例子
现在我们已经看了语法,让我们看一下Numpy保存的一些例子。
例子
先运行这段代码
在你运行这个例子之前,你需要运行一些设置代码。
具体来说,你需要导入Numpy,同时创建一个我们可以使用的Numpy数组。
让我们首先导入Numpy。
import numpy as np
而现在,我们将用Numpy数组函数创建一个Numpy数组。
# CREATE NUMPY ARRAY
my_array = np.array([[1,2,3],[4,5,6]])
让我们快速将其打印出来。
print(my_array)
输出
[[1 2 3]
[4 5 6]]
正如你所看到的,这是一个简单的Numpy数组,有2行和3列。 我们将能够用Numpy save将其保存为一个.npy文件。
例子1:将一个现有的Numpy数组保存到.npy文件中
在这里,我将向你展示一个简单的例子,说明如何将一个Numpy数组保存到一个.npy
文件。
要做到这一点,我们将调用np.save()
。 该函数的两个参数将是输出文件的名称,以及我们想要保存的Numpy数组的名称。
让我们看一下。
np.save('my_array_temp.npy', my_array)
所以在运行这段代码后,我们现在在电脑的文件系统中有一个名为my_array_temp.npy
的本地文件。
如果你愿意,你也可以使用Numpy load将数据加载回你的工作环境。
# LOAD NUMPY ARRAY
np.load('my_array_temp.npy', allow_pickle = True)
结束
array([[1, 2, 3],
[4, 5, 6]])
所以你会注意到,当我们使用np.load()
加载.npy
文件时,它将数据加载为一个Numpy数组。
关于Numpy保存的常见问题
现在你已经了解了Numpy save并看到了一些例子,让我们回顾一下关于这个技术的一些常见问题。
问题1:为什么我不能在文本编辑器中阅读保存的.npy文件?
以.npy
格式保存的文件是二进制格式。
这意味着,在文本编辑器中不可能直接读取或检查你保存在.npy
文件中的Numpy数据。
如果你想检查.npy
文件中的数据,你需要用Numpy load加载数据。
问题2:我如何将多个Numpy数组保存到一个文件中?
你要使用Numpy savez而不是Numpy save。
Numpy savez允许你把多个Numpy数组保存到一个.npy文件中。