1.Numpy属性
- ndim:秩
- shape:形状
- size:个数
- dtype:元素类型
2.创建操作
b = np.array([1, 2, 3])
# 创建一个numpy数组
c = np.zeros((2, 3))
# 创建全0
d = np.ones((3, 3))
# 全1
e = np.arange(0, 10, 2)
# 类似range,(起始,结尾, 步长)
f = np.linspace(0, 1, 5)
# 等间隔数组包含[L, R]
3.运算
-
基本算术运算:
x = np.array([1, 2, 3]) y = np.array([4, 5, 6]) # 加法 z = x + y # 输出: [5 7 9] # 减法 z = x - y # 输出: [-3 -3 -3] # 乘法 z = x * y # 输出: [4 10 18] # 除法 z = x / y # 输出: [0.25 0.4 0.5]
-
广播(Broadcasting):
x = np.array([1, 2, 3]) y = 2 # 数组与标量运算 z = x * y # 输出: [2 4 6]
-
矩阵乘法:
a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) # 元素逐个相乘 c = a * b # 输出: [[ 5 12] # [21 32]] # 矩阵乘法 d = np.dot(a, b) # 输出: [[19 22] # [43 50]]
-
数组求和、最大值、最小值、均值等:
a = np.array([1, 2, 3, 4, 5]) # 总和 total = np.sum(a) # 输出: 15 # 最大值 max_value = np.max(a) # 输出: 5 # 最小值 min_value = np.min(a) # 输出: 1 # 平均值 mean_value = np.mean(a) # 输出: 3.0 # 标准差 std_value = np.std(a) # 输出: 1.4142135623730951
-
数组变形和转置:
a = np.array([[1, 2, 3], [4, 5, 6]]) # 变形 b = a.reshape((3, 2)) # 输出: [[1 2] # [3 4] # [5 6]] # 转置 c = a.T # 输出: [[1 4] # [2 5] # [3 6]]
-
索引和切片:
a = np.array([1, 2, 3, 4, 5]) # 访问单个元素 print(a[0]) # 输出: 1 # 访问子数组 print(a[1:4]) # 输出: [2 3 4] b = np.array([[1, 2, 3], [4, 5, 6]]) # 访问二维数组元素 print(b[0, 1]) # 输出: 2 # 访问二维数组的行 print(b[0, :]) # 输出: [1 2 3] # 访问二维数组的列 print(b[:, 1]) # 输出: [2 5]
-
条件筛选:
a = np.array([1, 2, 3, 4, 5, 6]) # 条件筛选 b = a[a > 3] # 输出: [4 5 6]
-
axis:
import numpy as np a = np.array([[1, 2, 3], [4, 5, 6]]) #沿轴0求和(按列求和) sum_axis_0 = np.sum(a, axis=0) print(sum_axis_0) # 输出: [5 7 9] #沿轴1求和(按行求和) sum_axis_1 = np.sum(a, axis=1) print(sum_axis_1) # 输出: [ 6 15]