目录
1、数组生成
import numpy as np
np.zeros((3,2)) | 生成一个0矩阵 |
np.array([1,2,3,4]) | 生成一个矩阵 |
np.ones((3,2)) | 生成一个1矩阵 |
np.arange(3,8) | 生成一个顺序矩阵 |
np.linspace(0,1,5) | 返回 0 到 1 五个等间距递增数 |
np.random.rand( 2 , 4) | 返回随机的 2 * 4 的随机数组 |
np.zeros( (4 , 2 ) , dtype = np.int32 ) | 数组默认的浮点类型是浮点类型,可以指定创建 |
name.shape | shape查看数组name的大小 |
name.astype(int) | 转换数据类型 |
np中的常用数组类型有:
np.int8/16/32/64 | 整型 |
np.uint8/16/32/64 | 无符号整型 |
np.float32/64 | 浮点数 |
str | 字符串 |
bool | 布尔值 |
2、数据计算
a+b | 矩阵相加(不同尺寸也可相加,进行拓展) |
a/b | 矩阵相除 |
a@b | 矩阵相乘 |
np.matmul(a,b) | 矩阵相乘,与a@b等价 |
np.dot(a , b) | 矩阵点乘 |
np.sqrt(a) | 矩阵求平方根 |
np.sin(a) | 矩阵进行sin运算 |
np.cos(a) | 矩阵进行cos运算 |
np.log(a) | 矩阵进行对数运算 |
np.power(a , 2) | 矩阵进行指数运算 |
name.min() | name数组最小值 |
name.argmin() | name数组最小值的位置索引 |
name.mean() | 返回数组的平均值 |
name.var() | 返回方差 |
name.std() | 标准差 |
name.sum(axis = 1) | 按行相加 |
np.median(a) | 返回数组的中位数 |
3、数据索引
a[0,1] | 取下标 0 1 的元素 |
a[ (a > 3) & (a % 2 == 0) ] | 取大于3 并且可以被二整除的元素 |
a[0 , :] / a[0] | 取整行 |
a[ 0 : 9 : 2] | 取下标0到9的值(左闭右开),且跨度等于2 |
a[::-1] | 数组反转 |
&与;
|或。
4、图像Image
from PIL import Image
import numpy as np
im = Image.open('ph.jpg')
im = np.array(im)
# print(im.shape)#查看大小
# print(im[100,100])#查看分量
im_r= im[:,:,0]#单独提取出所有像素点的红色分量
im1 = np.array(Image.open('ph.jpg'))
im2 = np.array(Image.open('pl.jpg'))
im_blend = im1*0.4+im2*0.6 #将两张图片按照比例混合在一起
im_blend = im_blend.astype(np.unit8)#运算结果是浮点数,为了显示图片需要将图片转化为整型数
im_flipped = im[::-1,:,:]#上下翻转
im_cropped = im[40:500,400:500,:]#切片裁剪某一部分
Image.fromarray(im_cropped).show()