NumPy 创建数组学习笔记

NumPy 是一个用于科学计算的Python库,它提供了多维数组对象和各种派生对象(如掩码数组或矩阵)以及用于数组操作的函数。本文介绍了NumPy数组的创建方法,并列举了一些示例。

1. 使用numpy.array创建数组

使用 numpy.array() 函数可以从Python中的列表或元组创建一维数组。可以将列表或元组作为参数传递给该函数,从而生成一个新的NumPy数组。

pythonCopy Code
import numpy as np # 通过一个Python列表创建一维数组 arr = np.array([1, 2, 3, 4, 5]) print(arr) # 通过一个Python元组创建一维数组 arr = np.array((6, 7, 8, 9, 10)) print(arr)

输出:

Copy Code
[1 2 3 4 5] [ 6 7 8 9 10]

使用 numpy.array() 还可以创建多维数组。可以将列表或元组的列表作为参数传递给该函数,从而生成一个新的NumPy多维数组。

pythonCopy Code
# 通过一个Python列表创建二维数组 arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr) # 通过一个Python元组创建三维数组 arr = np.array(((1, 2), (3, 4)), dtype=np.complex) print(arr)

输出:

Copy Code
[[1 2 3] [4 5 6]] [[1.+0.j 2.+0.j] [3.+0.j 4.+0.j]]

2. 使用numpy.zeros和numpy.ones创建数组

使用 numpy.zeros()numpy.ones() 可以分别创建元素全为0或全为1的NumPy数组。

pythonCopy Code
# 创建一个元素全为0的一维数组 arr = np.zeros(5) print(arr) # 创建一个元素全为1的二维数组 arr = np.ones((2, 3)) print(arr)

输出:

Copy Code
[0. 0. 0. 0. 0.] [[1. 1. 1.] [1. 1. 1.]]

3. 使用numpy.arange和numpy.linspace创建数组

使用 numpy.arange()numpy.linspace() 可以分别创建具有指定范围,步长和数量的等间隔数字序列的NumPy数组。

pythonCopy Code
# 创建一个包含10个数的一维数组,从2开始,每个数相差2 arr = np.arange(2, 22, 2) print(arr) # 创建一个包含5个数的一维数组,从0到1之间等间隔分布的数 arr = np.linspace(0, 1, 5) print(arr)

输出:

Copy Code
[ 2 4 6 8 10 12 14 16 18 20] [0. 0.25 0.5 0.75 1. ]

4. 使用numpy.random创建数组

使用 numpy.random 模块可以创建包含随机整数或小数的NumPy数组。

pythonCopy Code
# 创建一个一维数组,包含5个范围在0到1之间的随机数 arr = np.random.rand(5) print(arr) # 创建一个二维数组,包含3行4列的随机整数 arr = np.random.randint(low=1, high=10, size=(3, 4)) print(arr)

输出:

Copy Code
[0.08144198 0.07186467 0.74508004 0.36887959 0.50701101] [[2 4 9 2] [7 6 1 7] [6 2 1 3]]

以上是几种常见的从Python对象创建NumPy数组的方式,并举出了相应的实例。掌握这些方法后,对于计算和数据分析任务,将会非常有用。