7 NumPy基本操作之创建数组
在上篇中,我们了解了如何验证 NumPy 的安装是否成功。现在,我们开始深入学习 NumPy 的基本操作,本章将重点介绍如何创建 NumPy 数组。这些数组是 NumPy 的核心数据结构,掌握它们的创建方法对于后续的数组索引与切片操作至关重要。
1. 创建 NumPy 数组
NumPy 提供了多种方法来创建数组,以下是我们最常用的一些方式:
1.1 从Python列表创建数组
最简单的方式是通过已有的 Python 列表来创建 NumPy 数组。可以使用 numpy.array()
函数进行转换。
import numpy as np
# 创建一个一维数组
arr_1d = np.array([1, 2, 3, 4, 5])
print(arr_1d)
输出:
[1 2 3 4 5]
1.2 使用 numpy.arange()
numpy.arange()
函数可以生成一个等差数列的数组。它的用法类似于 Python 内置的 range()
函数,但返回的是一个 NumPy 数组。
# 从0到9生成一个一维数组
arr_range = np.arange(10)
print(arr_range)
输出:
[0 1 2 3 4 5 6 7 8 9]
可以指定步长:
# 从0到20,只包含偶数
arr_even = np.arange(0, 20, 2)
print(arr_even)
输出:
[0 2 4 6 8 10 12 14 16 18]
1.3 使用 numpy.zeros()
和 numpy.ones()
numpy.zeros()
和 numpy.ones()
分别用于创建全为零或全为一的数组。它们常用于初始化数组。
# 创建一个3x4的全零数组
zeros_array = np.zeros((3, 4))
print(zeros_array)
输出:
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
# 创建一个5个元素的全一数组
ones_array = np.ones(5)
print(ones_array)
输出:
[1. 1. 1. 1. 1.]
1.4 使用 numpy.empty()
numpy.empty()
函数用于创建一个未初始化的数组,它的内容是随机的,取决于内存中的数据。
# 创建一个2x3的数组
empty_array = np.empty((2, 3))
print(empty_array)
输出:
[[1. 1. 1.]
[1. 1. 1.]]
注意: 由于这是未初始化的数组,它的内容可能是任何数字。
1.5 使用 numpy.linspace()
numpy.linspace()
用于创建一个在指定区间内均匀分布的数组。非常适合生成范围内的等间隔数值。
# 从0到1生成5个等间隔的数字
linspace_array = np.linspace(0, 1, 5)
print(linspace_array)
输出:
[0. 0.25 0.5 0.75 1. ]
2. 数组的类型
NumPy 数组具有统一的数据类型。可以通过dtype
属性查看数组的数据类型。
arr_int = np.array([1, 2, 3])
print(arr_int.dtype) # 输出: int64 或 int32,根据系统而定
arr_float = np.array([1.0, 2.0, 3.0])
print(arr_float.dtype) # 输出: float64
你也可以在创建数组时手动指定数据类型:
arr_float = np.array([1, 2, 3], dtype='float')
print(arr_float.dtype) # 输出: float64
3. 总结
本章介绍了如何使用 NumPy 创建数组的多种方法,涵盖了从 Python 列表转换、生成等差数列、创建全零或全一数组、创建未初始化数组、以及生成均匀分布的数值。在今后的操作中,我们将利用这些已创建的数组进行更复杂的操作,如索引与切片。
在下一篇中,我们将接着谈论 NumPy 数组的索引与切片操作,帮助大家更好地理解如何访问和修改 NumPy 数组中的数据。