使用 NumPy 进行数组操作的示例
NumPy 是Python中一个强大的数值计算库,它提供了高效的数组操作和数学运算。本文将通过一个具体示例,演示如何使用 NumPy 创建数组、进行基本统计分析、执行元素级运算以及数组重塑等操作。
示例任务
我们将创建一个名为 A 的 4 x 4 的 NumPy 数组,其元素为数字 3 到 18。接着,我们将输出该数组中的最小值、最大值和平均值,并执行一系列其他操作,包括平方、堆叠及乘积计算。
步骤 1: 创建数组 A
首先,我们使用 np.arange() 创建一个包含从 3 到 18 的数组,并使用 np.reshape() 将其调整为 4 x 4 的形状。
import numpy as np
# 创建数组 A
A = np.arange(3, 19).reshape(4, 4)
print("Array A:")
print(A)
运行结果如下:
Array A:
[[ 3 4 5 6]
[ 7 8 9 10]
[11 12 13 14]
[15 16 17 18]]
步骤 2: 输出数组 A 的统计信息
我们可以使用 NumPy 提供的函数来获取数组 A 的最小值、最大值和平均值。
# 输出 A 的最小值、最大值和平均值
min_value = np.min(A)
max_value = np.max(A)
mean_value = np.mean(A)
print(f"最小值: {min_value}")
print(f"最大值: {max_value}")
print(f"平均值: {mean_value}")
运行结果如下:
最小值: 3
最大值: 18
平均值: 10.5
步骤 3: 计算 A 中每个元素的平方,并保存到数组 B
使用 ** 运算符对 A 中的每个元素求平方,然后将结果保存到名为 B 的数组中。
# 计算每个元素的平方,保存到 B
B = A ** 2
print("Array B (A的平方):")
print(B)
运行结果如下:
Array B (A的平方):
[[ 9 16 25 36]
[ 49 64 81 100]
[121 144 169 196]
[225 256 289 324]]
步骤 4: 使用 np.vstack() 将 A 和 B 堆叠,并保存到 C
然后,我们将 A 和 B 垂直堆叠,结果保存在数组 C 中。
# 垂直堆叠 A 和 B
C = np.vstack((A, B))
print("Array C (堆叠 A 和 B):")
print(C)
运行结果如下:
Array C (堆叠 A 和 B):
[[ 3 4 5 6]
[ 7 8 9 10]
[ 11 12 13 14]
[ 15 16 17 18]
[ 9 16 25 36]
[ 49 64 81 100]
[121 144 169 196]
[225 256 289 324]]
步骤 5: 计算 C 乘以 A 的乘积
使用 @ 运算符计算 C 和 A 的矩阵乘积。
# 计算 C 乘以 A
product = C @ A
print("C 乘以 A 的乘积:")
print(product)
运行结果如下:
C 乘以 A 的乘积:
[[ 182 200 218 236]
[ 326 360 394 428]
[ 470 520 570 620]
[ 614 680 746 812]
[ 954 1040 1126 1212]
[ 2986 3280 3574 3868]
[ 6170 6800 7430 8060]
[10506 11600 12694 13788]]
步骤 6: 重构 C 为维度为 4 x 4 x 2 的数组
最后,我们将 C 重构为一个形状为 4 x 4 x 2 的数组。
# 重构 C 为 4x4x2 的数组
reshaped_C = C.reshape(4, 4, 2)
print("重构后的 C:")
print(reshaped_C)
运行结果如下:
重构后的 C:
[[[ 3 4]
[ 5 6]
[ 7 8]
[ 9 10]]
[[ 11 12]
[ 13 14]
[ 15 16]
[ 17 18]]
[[ 9 16]
[ 25 36]
[ 49 64]
[ 81 100]]
[[121 144]
[169 196]
[225 256]
[289 324]]]
完整代码
以下是上述所有步骤的完整代码示例:
import numpy as np
# 创建数组 A
A = np.arange(3, 19).reshape(4, 4)
print("Array A:")
print(A)
# 输出 A 的最小值、最大值和平均值
min_value = np.min(A)
max_value = np.max(A)
mean_value = np.mean(A)
print(f"最小值: {min_value}")
print(f"最大值: {max_value}")
print(f"平均值: {mean_value}")
# 计算每个元素的平方,保存到 B
B = A ** 2
print("Array B (A的平方):")
print(B)
# 垂直堆叠 A 和 B
C = np.vstack((A, B))
print("Array C (堆叠 A 和 B):")
print(C)
# 计算 C 乘以 A
product = C @ A
print("C 乘以 A 的乘积:")
print(product)
# 重构 C 为 4x4x2 的数组
reshaped_C = C.reshape(4, 4, 2)
print("重构后的 C:")
print(reshaped_C)
结论
通过这个示例,我们展示了如何利用 NumPy 创建数组、进行基本的统计分析、执行矩阵运算和数组重塑。这些功能使得 NumPy 成为科学计算和数据分析中不可或缺的工具。希望这篇文章能帮助您更好地理解和使用 NumPy!
原创不易,欢迎点赞、关注和转发!!!