1、numpy如何安装和导入
安装:pip install numpy
from numpy import *
import numpy as np
验证:eye(4)
生成一个对角矩阵
2、numpy的类型为多维数组
1个维度:a = np.array([1,2,3])
2个维度:b = np.array([[1,2],[3,4],[5,6]])
默认数据类型是64位的浮点数,所以有时候需要和整型之间进行转换int()
可以在创建的时候指定数据类型比如
a = np.array([1,2,3],dtype = np.int32)
3、基本使用
方法和属性
zeros(2,4)---全为0 的数组2行4列
shape-----获取数据的类型属性
eye()-----对角阵
ones()----全是1的数组,相当于单位阵
linspace(0,1,5)---创建等间距分布的数组,从0-1一共5个数据
数组之间的运算
相同类型的数组可以直接加减乘除
乘法
dot() ---进行点乘比如:
a1 = np.array([2,3,6])
a2 = np.array([5,6,9])
print(dot(a1, a2))
@----矩阵乘法
c1 = np.array([[2,3,6],[6,5,4]])
c2 = np.array([[2,0],[0,4],[0,1]])
print(c1 @ c2)
获取数组中的元素
a[0,2]----获取第一行,第三列的元素
a[0,0:2]---获取第一行,第一列到第二列的元素
a[0,;]---获取第一行,所有列的元素,即第一行元素
a[::-1]-----翻转数组
4、处理图片
一张灰度图是一个二维数组,250*250,表示像素也表示二维数组的行和列
那么一张彩色图是3个二位数组,每个数组分别表示RGB的颜色值。
举个例子加深理解:
import numpy as np
# 创建一个高为 h, 宽为 w 的彩色图像
h, w = 256, 256
image = np.random.randint(0, 256, (h, w, 3), dtype=np.uint8)
# 提取 RGB 三个通道
R = image[:, :, 0]
G = image[:, :, 1]
B = image[:, :, 2]