介绍
NumPy 是一个用于 Python 编程语言的库,用于在 Python 中执行数值操作。NumPy 通过使用多维数组提供了一种便捷的方式来处理数值数据。在本教程中,我们将讨论如何创建、访问和修改 NumPy 数组,并探索可用的不同数据类型。
这是一个实验(Guided Lab),提供逐步指导来帮助你学习和实践。请仔细按照说明完成每个步骤,获得实际操作经验。根据历史数据,这是一个 初级 级别的实验,完成率为 95%。获得了学习者 98% 的好评率。
NumPy 是一个用于 Python 编程语言的库,用于在 Python 中执行数值操作。NumPy 通过使用多维数组提供了一种便捷的方式来处理数值数据。在本教程中,我们将讨论如何创建、访问和修改 NumPy 数组,并探索可用的不同数据类型。
在终端中打开一个新的 Python 解释器。
python3
在我们开始操作数组之前,需要先创建它们。NumPy 提供了多种创建数组的方法,例如:
此函数从 Python 列表或元组创建数组。
import numpy as np
## 从 Python 列表创建数组
my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
print(my_array) ## 输出:[1 2 3 4 5]
## 从 Python 元组创建数组
my_tuple = (6, 7, 8, 9, 10)
my_array = np.array(my_tuple)
print(my_array) ## 输出:[ 6 7 8 9 10]
此函数创建一个给定形状的零数组。
## 创建一个零数组
my_array = np.zeros((3, 4))
print(my_array)
## 输出:
## [[0. 0. 0. 0.]
## [0. 0. 0. 0.]
## [0. 0. 0. 0.]]
此函数创建一个给定形状的一数组。
## 创建一个一数组
my_array = np.ones((2, 3))
print(my_array)
## 输出:
## [[1. 1. 1.]
## [1. 1. 1.]]
此函数创建一个在给定范围内均匀分布值的数组。
## 创建一个均匀分布值的数组
my_array = np.arange(0, 10, 2)
print(my_array) ## 输出:[0 2 4 6 8]
此函数创建一个在两个端点之间均匀分布值的数组。
## 创建一个在两个端点之间均匀分布值的数组
my_array = np.linspace(0, 1, 5)
print(my_array) ## 输出:[0. 0.25 0.5 0.75 1. ]
要访问一维数组中的元素,可以使用其索引。
my_array = np.array([1, 2, 3, 4, 5])
print(my_array[0]) ## 输出:1
要访问多维数组中的元素,需要指定其在每个维度中的位置。
my_array = np.array([[1, 2], [3, 4], [5, 6]])
print(my_array[1, 0]) ## 输出:3
我们可以通过为数组中的元素分配新值来修改其值。
my_array = np.array([1, 2, 3])
my_array[2] = 4
print(my_array) ## 输出:[1 2 4]
我们还可以修改数组的一个切片。
my_array = np.array([1, 2, 3, 4, 5])
my_array[1:4] = [6, 7, 8]
print(my_array) ## 输出:[1 6 7 8 5]
NumPy 数组可以存储不同数据类型的元素,例如整数、浮点数和布尔值。NumPy 提供了多种数据类型,包括:
| 数据类型 | 描述 |
|---|---|
| int_ | 整数 |
| int8 | 8 位整数 |
| int16 | 16 位整数 |
| int32 | 32 位整数 |
| int64 | 64 位整数 |
| uint8 | 无符号 8 位整数 |
| uint16 | 无符号 16 位整数 |
| uint32 | 无符号 32 位整数 |
| uint64 | 无符号 64 位整数 |
| float_ | 浮点数 |
| float16 | 半精度浮点数 |
| float32 | 单精度浮点数 |
| float64 | 双精度浮点数 |
| complex_ | 复数 |
| complex64 | 由两个 32 位浮点数表示的复数 |
| complex128 | 由两个 64 位浮点数表示的复数 |
| bool_ | 布尔值 |
| object_ | 对象(可以存储任何 Python 对象) |
要为数组指定数据类型,可以使用 dtype 参数。
## 创建具有特定数据类型的数组
my_array = np.array([1, 2, 3], dtype=np.float64)
print(my_array) ## 输出:[1. 2. 3.]
我们还可以使用 astype() 方法将数组转换为不同的数据类型。
## 将数组转换为不同的数据类型
my_array = np.array([1, 2, 3], dtype=np.int32)
my_array = my_array.astype(np.float64)
print(my_array) ## 输出:[1. 2. 3.]
在本教程中,我们学习了如何创建、访问和修改 NumPy 数组,并探索了可用的不同数据类型。NumPy 是一个强大的库,用于在 Python 中处理数值数据,并提供了许多有用的函数和方法来操作数组。