NumPy创建数组
在使用 NumPy 进行科学计算时,创建数组是第一步。本文将详细介绍如何使用 NumPy 创建数组。
1. 导入 NumPy 库
在使用 NumPy 之前,需要先导入它。通常,我们使用 import numpy as np
来导入 NumPy,并给它一个别名 np
,这样可以在后续代码中方便地引用 NumPy 的函数和属性。
import numpy as np
2. 使用 np.array
创建数组
np.array
是创建 NumPy 数组的最基本方法。你可以通过传递一个 Python 列表(或嵌套列表)给 np.array
来创建一个 NumPy 数组。
# 创建一个一维数组
one_d_array = np.array([1, 2, 3, 4, 5])
print(one_d_array)
# 输出: [1 2 3 4 5]
# 创建一个二维数组(矩阵)
two_d_array = np.array([[1, 2, 3], [4, 5, 6]])
print(two_d_array)
# 输出:
# [[1 2 3]
# [4 5 6]]
3. 使用特殊函数创建数组
NumPy 提供了一系列特殊函数来创建具有特定形状或值的数组。
np.zeros
:创建一个所有元素都是 0 的数组。np.ones
:创建一个所有元素都是 1 的数组。np.empty
:创建一个未初始化的数组(其值可能是垃圾值)。np.arange
:创建一个类似于 Python 内置range
函数的数组。np.linspace
:在指定范围内创建一个等差数列。np.logspace
:在指定范围内创建一个对数等分的数列。np.eye
:创建一个单位矩阵(对角线为 1,其余为 0)。np.full
:创建一个用指定值填充的数组。np.full_like
:创建一个形状与给定数组相同,并用指定值填充的数组。np.identity
:创建一个单位矩阵(与np.eye
类似,但只用于二维数组)。
# 创建一个 3x3 的零矩阵
zeros_array = np.zeros((3, 3))
print(zeros_array)
# 输出:
# [[0. 0. 0.]
# [0. 0. 0.]
# [0. 0. 0.]]
# 创建一个 2x4 的全 1 矩阵
ones_array = np.ones((2, 4))
print(ones_array)
# 输出:
# [[1. 1. 1. 1.]
# [1. 1. 1. 1.]]
# 创建一个从 0 到 9 的数组
arange_array = np.arange(10)
print(arange_array)
# 输出: [0 1 2 3 4 5 6 7 8 9]
# 创建一个从 0 到 1 的 5 个等间距的数
linspace_array = np.linspace(0, 1, 5)
print(linspace_array)
# 输出: [0. 0.25 0.5 0.75 1. ]
# 创建一个 3x3 的单位矩阵
eye_array = np.eye(3)
print(eye_array)
# 输出:
# [[1. 0. 0.]
# [0. 1. 0.]
# [0. 0. 1.]]
4. 从现有数据创建数组
你还可以从现有的 Python 列表、元组、集合或其他 NumPy 数组创建新的 NumPy 数组。
# 从列表创建数组
list_array = np.array([1, 2, 3, 4, 5])
print(list_array)
# 输出: [1 2 3 4 5]
# 从元组创建数组
tuple_array = np.array((1, 2, 3, 4, 5))
print(tuple_array)
# 输出: [1 2 3 4 5]
# 从另一个 NumPy 数组创建数组(实际上是创建了一个视图或副本)
copy_array = np.array(list_array)
print(copy_array)
# 输出: [1 2 3 4 5]
注意:从另一个 NumPy 数组创建数组时,默认是创建一个副本(除非使用了特定的参数或方法,如 np.asarray
,它尝试不创建副本)。
5. 指定数据类型
在创建数组时,可以通过 dtype
参数指定数组中元素的数据类型。
# 创建一个整数数组
int_array = np.array([1, 2, 3, 4, 5], dtype=np.int32)
print(int_array.dtype)
# 输出: int32
# 创建一个浮点数数组
float_array = np.array([1.1, 2.2, 3.3], dtype=np.float64)
print(float_array.dtype)
# 输出: float64
总结
NumPy 提供了多种方法来创建数组,包括从 Python 列表或元组创建数组、使用特殊函数创建具有特定形状或值的数组、从现有 NumPy 数组创建数组等。通过指定 dtype
参数,还可以控制数组中元素的数据类型。希望本文能帮助你更好地理解和使用 NumPy 创建数组。
本文地址:https://www.tides.cn/p_numpy-create-array