numpy常用属性
- shape:返回的是数组的形状
- ndlm:返回数组的维度
- size:返回数组元素的个数
- dtype:返回数组元素的类型
numpy的索引和切片操作
可以通过:操作对数组进行任意方式的切片,十分的灵活
切片方法
冒号分隔切片参数 array[start:stop:step]
start:起始索引
stop:截止索引(注意输出该索引前一个数)
step:步长(正向切片和负向切片)
1. 一维数组的切片
import numpy as np
b=np.array([9,8,7,6,5,4,3,2])
print(b[0:3])
print(b[2:3])
print(b[0:8])
print(b[::-1])
输出
[9 8 7]
[7]
[9 8 7 6 5 4 3 2]
[2 3 4 5 6 7 8 9]
2. 二维数组切片
方法:arr[行切片,列切片]
import numpy as np
arr=np.array([[9,8,7],[6,5,4],[3,2,1]])
print(arr)
print(arr[0:2]) #行切片
print(arr[::,0:2]) #列切片
print(arr[0:2:,0:2])
输出
[[9 8 7]
[6 5 4]
[3 2 1]]
#行切片
[[9 8 7]
[6 5 4]]
#列切片
[[9 8]
[6 5]
[3 2]]
#行列切片
[[9 8]
[6 5]]
二维数组切片的引用
数字图像可以表示为矩阵的形式,所以利用切片的操作可以对图像进行翻转和裁剪等操作。
- 图像的翻转
import matplotlib.pyplot as plt
img=plt.imread('./1.jpg') #读入图片
m1=img[::,::-1] ##左右翻转
m2=img[::-1,::] ##上下翻转
m3=img[::-1,::-1] ##完全翻转
##图片的显示
plt.figure(1)
plt.subplot(2,2,1)
plt.imshow(img)
plt.subplot(2,2,2)
plt.imshow(m1)
plt.subplot(2,2,3)
plt.imshow(m2)
plt.subplot(2,2,4)
plt.imshow(m3)
plt.show()
2. 图片的裁剪
import matplotlib.pyplot as plt
img=plt.imread('./1.jpg')
f=img[100:354:,100:348]#裁剪
##显示
plt.figure()
plt.subplot(1,2,1)
plt.imshow(img)
plt.subplot(1,2,2)
plt.imshow(f)
plt.show()