在本教程中,我将告诉你如何使用Numpy load从存储的npy或npz文件中加载Numpy数组。
所以我将解释Numpy load的作用,我将解释np.load的语法,并且我将逐步向你展示如何使用它的例子。
如果你需要具体的东西,你可以点击以下任何一个链接。
目录。
Numpy Load的快速介绍
Numpy load函数是非常直接的:它从Numpy存储文件(即.npy
文件和.npz
文件)中 "加载 "Numpy数组。
既然如此,让我们快速回顾一下存储的Numpy文件。
对Numpy和存储的Numpy文件的快速回顾
正如你可能知道的,Numpy是Python的一个数据科学包,用于数值数据的处理和分析。
当我们使用Numpy时,我们在我们的Python工作环境中使用它。
但有时,我们需要将数据存储在一个外部文件中,可以放在电脑磁盘上进行长期存储。 这些存储Numpy数组数据的长期文件是.npy
和.npz
文件。 我们可以用Numpy save和Numpy savez创建.npy
和.npz
文件。
不过以后,如果我们想再次使用这些存储的数组,我们需要从这些.npy
或.npz
文件中重新加载这些数组文件到我们的工作环境中。
我们如何做到这一点呢?
我们用Numpy load来做。
所以本质上,我们用Numpy save将Numpy数组数据放在长期存储中,之后我们可以用Numpy load将其加载回我们的工作环境。
Numpy load相当容易使用,但一些细节取决于你到底如何使用该语法。
让我们来看一下。
Numpy load的语法
在这里,我们将看一下Numpy load的确切语法,包括一些细节,如可选参数。
一个简短的说明
关于语法的一个说明。
每当我们使用像Numpy这样的Python包时,我们需要在使用它之前将其加载到我们的环境中。
确切地说,我们如何加载一个包实际上影响了语法。
原因是我们经常用一个别名来导入一个包。
在Numpy的例子中,我们通常用别名np
来导入它,像这样。
import numpy as np
同样,这也很重要,因为当我们这样导入Numpy时,它允许我们用前缀np
来调用Numpy函数。
本教程中的其他内容都假定你已经用上面的import
语句导入了Numpy。
np.load 语法
在最简单的情况下,Numpy load的语法很简单。
假设你已经用别名np
导入了Numpy,你输入的函数是np.load()
。
在括号内,你提供你想加载的.npy
或.npz
文件的名称。
该函数的第一个参数是你想加载数据的文件名。
然后有几个可选参数,你可以用它们来修改函数的行为。
Numpy Load的参数和输入
让我们快速了解一下Numpy load的参数。
filename
mmap_mode
allow_pickle
fix_imports
encoding
filename
(必填)
filename
参数是该函数的第一个输入,它是必需的。
请记住,这个参数是一个位置性参数。 Python 假定 Numpy load 的第一个输入是你要加载的文件的名字。
这个文件名通常是一个.npy
文件或一个.npz
文件。
mmap_mode
mmap_mode
参数控制该函数是否使用内存映射。
默认情况下,这被设置为mmap_mode = None
。
这个参数的其他可能的参数是。
- 'r+'
- 'r'
- 'w+'
- 'c'
如果你使用这些参数中的任何一个,Numpy load将使用你选择的参数所指定的模式对文件进行内存映射。
注意,根据官方文档,"内存映射对于访问大文件的小片段特别有用,而不需要将整个文件读入内存"。
allow_pickle
这个参数控制该函数是否能够加载存储在npy
或npz
文件中的 "腌制 "数组。
默认情况下,该参数被设置为allow_pickle = False
。
加载腌制的数据可能会导致安全问题,这也是该参数默认设置为False
的原因之一。
fix_imports
如果你试图将存储在Python 2系统中的腌制数据加载到Python 3系统中,fix_imports
参数是有帮助的。
默认情况下,这个参数被设置为fix_imports = True
。
encoding
这个参数控制了np.load
读取Python 2 字符串时使用的编码方式。
默认情况下,这个参数被设置为encoding='ASCII'
。
Numpy负载输出
Numpy load返回存储在文件中的Numpy数组。
正如你在例子中所看到的,这可以是一个单一的numpy数组,在.npy
文件的情况下。
或者它可以是多个数组,在.npz
文件的情况下。 在这种情况下,你将能够通过名称访问数组,使用存储的数组名称作为 "键"(很像一个字典)。
你会在例子2中看到这样的例子。
如何使用Numpy负载的例子
现在你已经看到了语法,让我们看看一些如何使用Numpy load的简单例子。
例子。
运行这段代码来导入Numpy
在你运行这些例子之前,你需要运行一些初步的设置代码。
具体来说,你需要导入Numpy。
你可以用这段代码来做这件事。
import numpy as np
记住:当我们用别名np
,导入Numpy时,我们可以在调用函数时使用np
作为前缀。 我在上面的语法部分解释了这一点。
例子1:从一个.npy文件中加载一个Numpy数组
在这个例子中,我们要从一个.npy
文件中加载一个单一的Numpy数组。
这将需要几个步骤。 我们将
- 创建一个Numpy数组
- 将Numpy数组保存到一个
.npy
文件中 - 使用Numpy load加载该数组
让我们逐一进行。
创建数组
首先,我们将创建一个Numpy简单数组,我们可以存储,然后加载。
为了做到这一点,我们将使用Numpy数组函数来手动创建一个具有特定值的数组。
我们将调用np.array,并以my_array
的名义存储数组。
# CREATE NUMPY ARRAY
my_array = np.array([[0,2,4],[1,3,5]])
现在,让我们把它打印出来。
print(my_array)
OUT:
[[0 2 4]
[1 3 5]]
这是一个有2行3列的简单数组。
我们将能够用Numpy save保存它,然后用Numpy load加载它。
创建npy文件
现在,我们将保存我们的Numpy数组,以便创建一个.npy
文件。
np.save('my_array_temp.npy', my_array)
在这里,我们已经调用np.save并创建了一个名为my_array_temp.npy
的.npy
文件。
加载npy文件
现在,我们将通过调用np.load
来加载我们的Numpy数组,我们刚刚创建的文件,my_array_temp.npy
。
np.load('my_array_temp.npy')
输出。
array([[0, 2, 4],
[1, 3, 5]])
正如你所看到的,当你调用 np.load 时,它会将存储在 .npy 文件中的数组加载到你的 Python 环境中。 记住:这是我们之前创建的数组,用Numpy save存储。
重要的是,我在这里调用 np.load 的方式,数组已经简单地被发送到了控制台。
如果你想用一个变量名来保留这个数组,你需要把输出传给一个变量,像这样。
my_reloaded_array = np.load('my_array_temp.npy')
例2:从一个.npz文件中加载多个Numpy数组,并指定数组名称
在这个例子中,我们将加载两个Numpy数组。 这一次,我们将从一个.npz
文件中加载我们的数组,在这个文件中我们用特定的名称存储了数组。
同样:这将需要多个步骤。 我们将
- 创建两个Numpy数组
- 将数组保存在一个
.npz
文件中,并使用特定的名称 - 使用Numpy load加载数组
让我们来做吧。
创建数组
在这个例子的第一步,我们要创建两个Numpy数组。
这里,我们将使用Numpy arange创建一个一维的整数。
我们还将使用Numpy log创建一个包含这些数字的对数的数组。
integer_array = np.arange(start = 1, stop = 6)
log_array = np.log(integer_array)
然后让我们把这些数组打印出来。
print(integer_array)
print(log_array)
OUT。
[1 2 3 4 5]
[0. 0.69314718 1.09861229 1.38629436 1.60943791]
我们将用Numpy savez来保存这些数组的具体名称。
创建npz文件
在这里,我们将使用Numpy savez将这两个Numpy数组保存到一个.npz
文件。
此外,我们要在.npz
文件内用特定的名字保存这些文件。
np.savez('my_arrays_temp.npz', int_arr = integer_array, log_arr = log_array)
要了解更多关于这个工作的信息,你可以阅读我们关于Numpy savez的教程。
加载数组
现在我们已经将数组存储到npz
文件中,我们将用Numpy load加载数组。
loaded_arrays = np.load('my_arrays_temp.npz')
在这里,我们已经将npz
文件加载到名为loaded_arrays
的变量中。
当我们像这样加载一个npz文件时,我们可以使用files
属性来检查其内容。
loaded_arrays.files
OUT。
['int_arr', 'log_arr']
你可以看到,在这个加载的npz文件中,有两个数组。 这些是我们在上一节中使用Numpy save存储的Numpy数组。
为了检索数组的内容,我们可以把loaded_arrays
,就像一个容器一样,并使用我们刚刚打印出来的文件名作为键。 这将检索出存储的numpy数组。
loaded_arrays['array_2d']
loaded_arrays['linspace_array_1d']
OUT。
array([1, 2, 3, 4, 5])
array([0., 0.69314718, 1.09861229, 1.38629436, 1.60943791])
这里,我们使用了与loaded_arrays
相关的文件名,并通过引用文件名作为容器的键来加载它们。 提供文件名,它就能检索到存储的Numpy数组。
关于Numpy加载的常见问题
现在你已经了解了Numpy load并看到了一些例子,让我们回顾一下关于这个函数的一些常见问题。
常见问题。
问题1:如何从文本文件中加载Numpy数据?
Numpy load适用于.npy
或.npz
文件,但如果你想加载存储在文本文件中的数字数据,你需要使用Numpy loadtxt。
要了解更多,你可以阅读我们关于Numpy loadtxt的教程。
在下面的评论中留下你的其他问题
你有关于Numpy load的其他问题吗?
如果有,请在下面的评论区留下你的问题。
加入我们的课程,学习更多关于Numpy的知识
在本教程中,我向你展示了如何使用Numpy load。
如果你严格地需要加载一个Numpy数组,Numpy load是很有用的,但如果你真的想掌握Python中的数字数据操作,你就需要学习更多的Numpy。
也就是说,如果你真的想学习Numpy,你应该考虑加入我们的高级课程,称为Numpy Mastery。
Numpy Mastery将教你关于Numpy的所有知识,包括。
- 如何创建Numpy数组
- Numpy坐标轴如何工作
- "Numpy随机种子 "函数的作用
- 如何使用Numpy的随机函数
- 如何重塑、分割和组合你的Numpy数组
- 在Numpy数组上应用数学运算
- 以及更多...
本课程还将为你提供我们独特的练习系统。 这个练习系统将使你能够记住所有你学到的Numpy语法。
如果你为记住Numpy语法而苦恼,这就是你一直在寻找的课程。
如果你像我们展示的那样练习,你将在短短几周内记住所有关键的Numpy语法。
在这里了解更多。
**
**