创新互联Python教程:python数组分割的函数

1、hsplit,水平方向分割。

通过指定返回相同shape的array的数量,或者分割应该发生之后的列来沿着其横轴拆分。

2、vsplit,沿着垂直轴分割。

3、split/array_split,自定义分割,axis=1 水平分割,axis=0 垂直方向分割。

实例

# 4.分割-水平方向分割
h5 = np.random.randint(0,100,size=(6,4))
h5
'''array([[13,  7, 29, 65],
       [57, 50, 79, 12],
       [ 9, 16, 82, 86],
       [97, 62, 43, 92],
       [66, 21, 78, 34],
       [95, 33, 51, 63]])'''
       
np.hsplit(h5,2) # 将h5水平分割等分两个数组,被分割的列一定为指定分割数的倍数
'''[array([[13,  7],
        [57, 50],
        [ 9, 16],
        [97, 62],
        [66, 21],
        [95, 33]]),
 array([[29, 65],
        [79, 12],
        [82, 86],
        [43, 92],
        [78, 34],
        [51, 63]])]'''
np.hsplit(h5,[1,3])#将h5从下标为1、3的地方水平分割
'''[array([[13],
        [57],
        [ 9],
        [97],
        [66],
        [95]]),
 array([[ 7, 29],
        [50, 79],
        [16, 82],
        [62, 43],
        [21, 78],
        [33, 51]]),
 array([[65],
        [12],
        [86],
        [92],
        [34],
        [63]])]
'''
# 5 分割-纵向分割
np.vsplit(h5,3)
'''
[array([[13,  7, 29, 65],
        [57, 50, 79, 12]]),
 array([[ 9, 16, 82, 86],
        [97, 62, 43, 92]]),
 array([[66, 21, 78, 34],
        [95, 33, 51, 63]])]
'''
np.vsplit(h5,[1,2])
'''
[array([[13,  7, 29, 65]]),
 array([[57, 50, 79, 12]]),
 array([[ 9, 16, 82, 86],
        [97, 62, 43, 92],
        [66, 21, 78, 34],
        [95, 33, 51, 63]])]
'''
# 6 分割-自定义分割
np.split(h5,2,axis=1) #横向分割,按列分割
'''
[array([[13,  7],
        [57, 50],
        [ 9, 16],
        [97, 62],
        [66, 21],
        [95, 33]]),
 array([[29, 65],
        [79, 12],
        [82, 86],
        [43, 92],
        [78, 34],
        [51, 63]])]
'''
np.split(h5,3,axis=0)#纵向分割,按行分割
'''
[array([[13,  7, 29, 65],
        [57, 50, 79, 12]]),
 array([[ 9, 16, 82, 86],
        [97, 62, 43, 92]]),
 array([[66, 21, 78, 34],
        [95, 33, 51, 63]])]
'''

以上就是python数组分割的函数,希望对大家有所帮助。更多Python学习指路:创新互联python教程

本文名称:创新互联Python教程:python数组分割的函数
网页URL:http://www.shufengxianlan.com/qtweb/news21/344521.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联