NumPy 提供了丰富的功能和函数用于对数组进行各种操作。以下是一些常用的 NumPy 数组操作:
创建数组:
np.array()
: 从Python列表或元组创建数组。arr = np.array([1, 2, 3])
# 输出 [1 2 3]
生成特定形状的数组:
np.zeros()
, np.ones()
: 创建全零或全一数组。
zeros_arr = np.zeros((2, 3))
ones_arr = np.ones((3, 3))
np.arange()
, np.linspace()
: 生成等差数列或等间隔数列。
arange_arr = np.arange(0, 10, 2)
linspace_arr = np.linspace(0, 1, 5)
np.eye()
: 创建单位矩阵。
eye_arr = np.eye(3)
形状操作:
arr.shape
: 获取数组的形状。
arr.reshape()
: 改变数组的形状。
arr_reshaped = arr.reshape((3, 1))
np.concatenate()
: 沿指定轴连接数组。
concatenated_arr = np.concatenate((arr1, arr2), axis=0)
索引和切片:
使用中括号 []
进行索引和切片操作。
element = arr[1]
subarray = arr[1:3]
使用布尔索引选择满足条件的元素。
condition = arr > 2
selected_elements = arr[condition]
数学和统计操作:
np.sum()
, np.mean()
, np.std()
: 计算数组的总和、均值、标准差等。
total_sum = np.sum(arr)
mean_value = np.mean(arr)
std_dev = np.std(arr)
np.min()
, np.max()
, np.argmin()
, np.argmax()
: 获取最小值、最大值及其索引。
min_value = np.min(arr)
max_index = np.argmax(arr)
广播操作:
broadcasted_result = arr + 5
np.dot()
, np.matmul()
: 执行矩阵乘法。
matrix_product = np.dot(matrix1, matrix2)
np.transpose()
: 转置矩阵。
transposed_matrix = np.transpose(matrix)
np.linalg.inv()
: 计算矩阵的逆。
inverse_matrix = np.linalg.inv(matrix)