导入数组的常用模块
import numpy as np # 创建一个多维数组 arr = np.random.randint(0,100,size=(5,5)) arr
在这里,我们创建了一个五行五列的二维数组
array([[10, 7, 83, 66, 5], [30, 12, 87, 2, 71], [75, 96, 36, 5, 62], [73, 25, 72, 22, 27], [ 2, 5, 52, 17, 93]])
我们先回忆一维数组的切片操作:
一维数组的切片 arr[x : y :z]
x : 起始值,y : 结束值,z : 步长值
多维数组的切片与之类似,不过多了一个操作列的参数
# 将数组的行倒置 arr[::-1] array([[ 2, 5, 52, 17, 93], [73, 25, 72, 22, 27], [75, 96, 36, 5, 62], [30, 12, 87, 2, 71], [10, 7, 83, 66, 5]])
# 将数组的行和列倒置 arr[::-1,::-1] array([[93, 17, 52, 5, 2], [27, 22, 72, 25, 73], [62, 5, 36, 96, 75], [71, 2, 87, 12, 30], [ 5, 66, 83, 7, 10]])
# 取出后三行(从第三行开始取) arr[2::] array([[75, 96, 36, 5, 62], [73, 25, 72, 22, 27], [ 2, 5, 52, 17, 93]])
# 取出前两行 arr[:2:] array([[10, 7, 83, 66, 5], [30, 12, 87, 2, 71]])
# 取出 1 2 5 行 arr[::2] array([[10, 7, 83, 66, 5], [75, 96, 36, 5, 62], [ 2, 5, 52, 17, 93]])
# 取出后三列(从第三列开始取) arr[::,2::] array([[83, 66, 5], [87, 2, 71], [36, 5, 62], [72, 22, 27], [52, 17, 93]])
# 取出后两列 arr[::,:2:] array([[10, 7], [30, 12], [75, 96], [73, 25], [ 2, 5]])
# 取出 1 3 5 列 arr[::,::2] array([[10, 83, 5], [30, 87, 71], [75, 36, 62], [73, 72, 27], [ 2, 52, 93]])
这里展示一个数组切片的小应用案例
import matplotlib.pyplot as plt # 读取本地图片的二进制数据 imgData = plt.imread('E:/pandas/imges/bg.jpg') imgData array([[[187, 218, 247], [187, 218, 247], [187, 218, 247], ..., [187, 218, 247], [187, 218, 247], [187, 218, 247]], [[182, 215, 246], [182, 215, 246], [182, 215, 246], ..., [182, 215, 246], [182, 215, 246], [182, 215, 246]], [[182, 215, 246], [182, 215, 246], [182, 215, 246], ..., [182, 215, 246], [182, 215, 246], [182, 215, 246]], ..., [[253, 253, 253], [253, 253, 253], [253, 253, 253], ..., [253, 253, 253], [253, 253, 253], [252, 252, 252]], [[253, 253, 253], [253, 253, 253], [253, 253, 253], ..., [253, 253, 253], [253, 253, 253], [252, 252, 252]], [[253, 253, 253], [253, 253, 253], [253, 253, 253], ..., [253, 253, 253], [253, 253, 253], [252, 252, 252]]], dtype=uint8)
不难看出,读取的数据是存放在一个二维数组里面的
# 图片二进制数据展示 plt.imshow(imgData)
# 数组切片操作可以对图片进行剪切操作 plt.imshow(imgData[:300:])
还可完成的操作有 图片的反转,倒置,放大,缩小等,这里就不做相应演示了
标签:182,arr,215,切片,246,数组,253,array,numpy From: https://www.cnblogs.com/atbktyws/p/16757643.html