numpy底层使用c语言,围绕数组进行计算,默认64位浮点数
np.array()
np.zeros()
np.ones()
np.shape()
np.arange()
np.random.rand()
转换数据类型
1.创建时
b=np.zeros((2,3),dtype=np.int32)
np.int8/16/32/64
np.uint8/16/32/64
np.float32/64
bool
str
2.已创建
a=a.astype(int)
基本运算
1.四则运算
相同尺寸:
a=np.array([1,2,3,4])
b=np.array([5,4,3,2])
不同尺寸:
a=np.array([[1],
[2]])
b=np.array([5,4])
把a数组由
1 |
2 |
扩展成
1 | 1 |
2 | 2 |
2.其他数学运算
平方根,对数运算,指数运算,正弦等
np.sqrt(a)
np.log(a)
np.pow(a,3)
np.sin(a)
筛选元素
b[(b>3)&(b%2==0)]
a=np.array([[1,2],[3,4]])
a[1,:]
典型应用-图片处理
1.读取图片
from PIL import Image
im=Image.open('F:\\桌面\\flower.jpg')
im.show
2.将图片转换成数组
im=np.array(im)
im.shape
3.剪裁图片
im1=np.array(Image.open('F:\\桌面\\flower.jpg'))
im2=np.array(Image.open('F:\\桌面\\yellow.jpg'))
im1_cropped=im1[:600,:1000,:]
im2_cropped=im2[:600,:1000,:]
Image.fromarray(im1_cropped).show()
Image.fromarray(im2_cropped).show()
4.将两张图片混合
im_blend=im1_cropped*0.2+im2_cropped*0.5
im_blend=im_blend.astype(np.uint8)
Image.fromarray(im_blend).show()
5.翻转图片
im1_fliepped=im1[::-1,:,:]
Image.fromarray(im1_fliepped).show()