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

Charlotte ·
更新时间:2024-09-20
· 856 次阅读

数组分割

函数 数组及操作
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



NumPy split 数组

需要 登录 后方可回复, 如果你还没有账号请 注册新账号