现在你已经成功安装了NumPy,是时候编写你的第一个NumPy程序了!本节将通过一个简单的示例,带你熟悉NumPy的基本使用流程。
按照惯例,我们使用 import numpy as np 导入NumPy,并将其简写为 np,以便后续代码更简洁。
import numpy as np
NumPy的核心是多维数组对象 ndarray。我们可以从Python列表创建数组:
# 从列表创建一维数组
arr = np.array([1, 2, 3, 4, 5])
print("第一个数组:", arr)
输出:
第一个数组: [1 2 3 4 5]
每个NumPy数组都有一些基本属性,如维度、形状、元素个数和数据类型:
print("数组维度:", arr.ndim) # 维度数
print("数组形状:", arr.shape) # 各维度大小
print("元素个数:", arr.size) # 总元素个数
print("数据类型:", arr.dtype) # 元素数据类型
输出:
数组维度: 1
数组形状: (5,)
元素个数: 5
数据类型: int64
NumPy支持矢量化运算,即对整个数组进行相同的操作,无需编写循环:
# 每个元素加10
arr_plus = arr + 10
print("arr + 10 =", arr_plus)
# 每个元素乘以2
arr_times = arr * 2
print("arr * 2 =", arr_times)
# 计算数组的平均值
mean_val = np.mean(arr)
print("数组平均值:", mean_val)
# 计算数组的和
sum_val = np.sum(arr)
print("数组总和:", sum_val)
输出:
arr + 10 = [11 12 13 14 15]
arr * 2 = [ 2 4 6 8 10]
数组平均值: 3.0
数组总和: 15
我们也可以创建二维数组(矩阵)并进行更复杂的操作:
# 创建2x3的二维数组
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组:\n", matrix)
# 计算所有元素的和
print("矩阵所有元素和:", np.sum(matrix))
# 按列求和(axis=0)
print("按列求和:", np.sum(matrix, axis=0))
# 按行求和(axis=1)
print("按行求和:", np.sum(matrix, axis=1))
输出:
二维数组:
[[1 2 3]
[4 5 6]]
矩阵所有元素和: 21
按列求和: [5 7 9]
按行求和: [ 6 15]
将以上代码整合起来,就是一个完整的第一个NumPy程序。你可以将其保存为 first_numpy.py 并运行。
import numpy as np
# 创建数组
arr = np.array([1, 2, 3, 4, 5])
print("第一个数组:", arr)
# 查看属性
print("维度:", arr.ndim)
print("形状:", arr.shape)
print("大小:", arr.size)
print("数据类型:", arr.dtype)
# 运算
print("arr + 10 =", arr + 10)
print("arr * 2 =", arr * 2)
print("平均值:", np.mean(arr))
print("总和:", np.sum(arr))
# 二维数组
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组:\n", matrix)
print("按列求和:", np.sum(matrix, axis=0))
print("按行求和:", np.sum(matrix, axis=1))
通过这个简单的程序,你已经体验了NumPy的基本操作:导入库、创建数组、查看属性、进行矢量化运算。这些是后续深入学习的基础。接下来,我们将更系统地学习如何创建不同类型的NumPy数组。