7 NumPy基本操作之创建数组

在上篇中,我们了解了如何验证 NumPy 的安装是否成功。现在,我们开始深入学习 NumPy 的基本操作,本章将重点介绍如何创建 NumPy 数组。这些数组是 NumPy 的核心数据结构,掌握它们的创建方法对于后续的数组索引与切片操作至关重要。

1. 创建 NumPy 数组

NumPy 提供了多种方法来创建数组,以下是我们最常用的一些方式:

1.1 从Python列表创建数组

最简单的方式是通过已有的 Python 列表来创建 NumPy 数组。可以使用 numpy.array() 函数进行转换。

1
2
3
4
5
import numpy as np

# 创建一个一维数组
arr_1d = np.array([1, 2, 3, 4, 5])
print(arr_1d)

输出:

1
[1 2 3 4 5]

1.2 使用 numpy.arange()

numpy.arange() 函数可以生成一个等差数列的数组。它的用法类似于 Python 内置的 range() 函数,但返回的是一个 NumPy 数组。

1
2
3
# 从0到9生成一个一维数组
arr_range = np.arange(10)
print(arr_range)

输出:

1
[0 1 2 3 4 5 6 7 8 9]

可以指定步长:

1
2
3
# 从0到20,只包含偶数
arr_even = np.arange(0, 20, 2)
print(arr_even)

输出:

1
[0 2 4 6 8 10 12 14 16 18]

1.3 使用 numpy.zeros()numpy.ones()

numpy.zeros()numpy.ones() 分别用于创建全为零或全为一的数组。它们常用于初始化数组。

1
2
3
# 创建一个3x4的全零数组
zeros_array = np.zeros((3, 4))
print(zeros_array)

输出:

1
2
3
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
1
2
3
# 创建一个5个元素的全一数组
ones_array = np.ones(5)
print(ones_array)

输出:

1
[1. 1. 1. 1. 1.]

1.4 使用 numpy.empty()

numpy.empty() 函数用于创建一个未初始化的数组,它的内容是随机的,取决于内存中的数据。

1
2
3
# 创建一个2x3的数组
empty_array = np.empty((2, 3))
print(empty_array)

输出:

1
2
[[1. 1. 1.]
[1. 1. 1.]]

注意: 由于这是未初始化的数组,它的内容可能是任何数字。

1.5 使用 numpy.linspace()

numpy.linspace() 用于创建一个在指定区间内均匀分布的数组。非常适合生成范围内的等间隔数值。

1
2
3
# 从0到1生成5个等间隔的数字
linspace_array = np.linspace(0, 1, 5)
print(linspace_array)

输出:

1
[0.   0.25 0.5  0.75 1.  ]

2. 数组的类型

NumPy 数组具有统一的数据类型。可以通过dtype属性查看数组的数据类型。

1
2
3
4
5
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

你也可以在创建数组时手动指定数据类型:

1
2
arr_float = np.array([1, 2, 3], dtype='float')
print(arr_float.dtype) # 输出: float64

3. 总结

本章介绍了如何使用 NumPy 创建数组的多种方法,涵盖了从 Python 列表转换、生成等差数列、创建全零或全一数组、创建未初始化数组、以及生成均匀分布的数值。在今后的操作中,我们将利用这些已创建的数组进行更复杂的操作,如索引与切片。

在下一篇中,我们将接着谈论 NumPy 数组的索引与切片操作,帮助大家更好地理解如何访问和修改 NumPy 数组中的数据。

7 NumPy基本操作之创建数组

https://zglg.work/numpy-zero/7/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论