numpy np.split、np.hsplit、np.vsplit分割数组

数组分割

函数 数组及操作
np.split 将一个数组分割为多个子数组
np.hsplit 将一个数组水平分割为多个子数组(按列)
np.vsplit 将一个数组垂直分割为多个子数组(按行)
np.dsplit 在第三个轴上进行深度切割

np.split(ary, indices_or_sections, axis=0)
Params:
indices_or_sections:一个整数N或者一个1-D数组。为N时,在axis方向上平均分割成N份。当给定一个1-D数组时,该数组必须是从小到大排序的整数元素。然后,形成切片式的区间,例如:[2, 3],会形成[:2],[2:3],[3:]三个区间,然后按照axis方向分割数据。
Return:
切割后的子数组
np.vsplit(ary, indices_or_sections)
参数解释同上。只在第一个轴即0轴方向上切割,分割行
np.hsplit(ary, indices_or_sections)
参数解释同上。只在第二个轴即1轴方向上切割,分割列

举例:
还是以一幅图片为例,生动形象。

data = cv2.resize(data,(300,300))
data.shape
(300, 300, 3)

图片奉上,供练习操作。
来源500pix

均匀分割

mutltiArrs = np.split(data,3) # 分割
plt.figure() # 展示
for i, arr in enumerate(mutltiArrs,1):
plt.subplot(3,1,i)
plt.imshow(arr)

注意:观察图片左边的左边信息,与分割的条件对应。
在这里插入图片描述

区间分割

mutltiArrs = np.split(data,[100,150,250])
plt.figure(figsize=(5,5))
for i, arr in enumerate(mutltiArrs,1):
plt.subplot(4,1,i)
plt.imshow(arr)

在这里插入图片描述
图片来源https://500px.me/

作者:大Py

相关推荐

详解vue-flickity的fullScreen功能实现

Quasar Input:type=number 去掉上下小箭头 实现加减按钮样式功能

Vue 中 template 有且只能一个 root的原因解析(源码分析)

如何基于layui的laytpl实现数据绑定的示例代码