Numpy 创建数组
Numpy 是一个强大的 Python 库,主要用于进行科学计算。它提供了一个高性能的多维数组对象,以及用于处理这些数组的工具。创建数组是使用 Numpy 进行数据处理和科学计算的基础。本文将详细介绍如何使用 Numpy 创建数组,并提供多个示例代码以帮助理解和实践。
1. 使用 np.array
创建数组
np.array
函数是创建数组最直接的方法。你可以直接将 Python 列表或者元组传递给 np.array
来创建一个 Numpy 数组。
示例代码 1:创建一维数组
import numpy as np
# 创建一维数组
array_1d = np.array([1, 2, 3, 4, 5])
print(array_1d)
Output:
示例代码 2:创建二维数组
import numpy as np
# 创建二维数组
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print(array_2d)
Output:
2. 使用 np.zeros
创建全零数组
np.zeros
可以创建一个填充了零的数组。你可以指定数组的形状来创建所需维度的零数组。
示例代码 3:创建一维全零数组
import numpy as np
# 创建一维全零数组
zero_array_1d = np.zeros(5)
print(zero_array_1d)
Output:
示例代码 4:创建二维全零数组
import numpy as np
# 创建二维全零数组
zero_array_2d = np.zeros((3, 4))
print(zero_array_2d)
Output:
3. 使用 np.ones
创建全一数组
与 np.zeros
类似,np.ones
创建一个填充了一的数组。这同样可以通过指定数组的形状来完成。
示例代码 5:创建一维全一数组
import numpy as np
# 创建一维全一数组
ones_array_1d = np.ones(5)
print(ones_array_1d)
Output:
示例代码 6:创建二维全一数组
import numpy as np
# 创建二维全一数组
ones_array_2d = np.ones((3, 4))
print(ones_array_2d)
Output:
4. 使用 np.arange
创建数值范围数组
np.arange
类似于 Python 的 range
函数,但返回的是 Numpy 数组。这个函数非常适合创建数值序列。
示例代码 7:创建一定步长的数组
import numpy as np
# 创建一定步长的数组
range_array = np.arange(0, 10, 2)
print(range_array)
Output:
5. 使用 np.linspace
创建线性间隔元素数组
np.linspace
在指定的区间内创建均匀间隔的数组。这对于需要精确控制元素间隔的场景非常有用。
示例代码 8:创建线性间隔的数组
import numpy as np
# 创建线性间隔的数组
linspace_array = np.linspace(0, 1, 5)
print(linspace_array)
Output:
6. 使用 np.eye
创建单位矩阵
单位矩阵在线性代数中非常重要,np.eye
可以创建一个二维的单位矩阵。
示例代码 9:创建单位矩阵
import numpy as np
# 创建单位矩阵
identity_matrix = np.eye(4)
print(identity_matrix)
Output:
7. 使用 np.random
生成随机数数组
Numpy 提供了多种生成随机数数组的方法。这些方法可以用来创建具有随机元素的数组。
示例代码 10:创建随机浮点数数组
import numpy as np
# 创建随机浮点数数组
random_array = np.random.rand(5)
print(random_array)
Output:
示例代码 11:创建随机整数数组
import numpy as np
# 创建随机整数数组
random_int_array = np.random.randint(0, 10, size=(5,))
print(random_int_array)
Output:
8. 使用 np.full
创建常数填充的数组
如果你需要创建一个填充了特定值的数组,np.full
是一个很好的选择。
示例代码 12:创建常数填充的数组
import numpy as np
# 创建常数填充的数组
full_array = np.full((3, 4), 7)
print(full_array)
Output:
9. 使用 np.tile
和 np.repeat
复制数组
np.tile
和 np.repeat
提供了复制数组元素的功能。np.tile
会将整个数组作为一个单元来重复,而 np.repeat
会对数组中的每个元素进行重复。
示例代码 13:使用 np.tile
复制数组
import numpy as np
# 使用 np.tile 复制数组
tiled_array = np.tile(np.array([1, 2, 3]), 3)
print(tiled_array)
Output:
示例代码 14:使用 np.repeat
重复数组元素
import numpy as np
# 使用 np.repeat 重复数组元素
repeated_array = np.repeat(np.array([1, 2, 3]), 3)
print(repeated_array)
Output:
10. 使用 np.fromfunction
根据函数创建数组
np.fromfunction
允许你根据给定的函数来创建数组。这个函数的参数是数组的索引,返回值是数组的元素值。
示例代码 15:根据函数创建数组
import numpy as np
# 根据函数创建数组
function_array = np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int)
print(function_array)
Output:
结论
Numpy 提供了多种创建数组的方法,从基本的 np.array
到更高级的 np.fromfunction
。掌握这些方法可以帮助你在进行科学计算和数据处理时更加高效。