python机器学习库numpy---12、数组分割

python机器学习库numpy---12、数组分割

一、总结

一句话总结:

1、numpy数组等量分割可以用hsplit(horizontal split)、vsplit(vertical split)、split等方法
2、numpy数组不等量分割可以用array_split方法
不等量分割
不等量分割可以用array_split方法

2.1、水平分割
水平分割,所以axis是1

a = np.arange(12).reshape((3,4))
print(a)

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]

print(np.array_split(a,3,axis=1))

[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2],
       [ 6],
       [10]]), array([[ 3],
       [ 7],
       [11]])]

二、数组分割

博客对应课程的视频位置:12、数组分割-范仁义-读书编程笔记
https://www.fanrenyi.com/video/38/355

1、等量分割

等量分割可以用hsplit(horizontal split)、vsplit(vertical split)、split等方法

axis为1表示横轴,axis为0表示纵轴

1.1、水平分割

In [1]:
import numpy as np
a = np.arange(12).reshape((3,4))
print(a)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
In [2]:
# hsplit
print(np.hsplit(a,2))
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
In [ ]:
# hsplit方法不等量分割会报错
print(np.hsplit(a,3))
In [4]:
# axis=1表示对水平进行操作
print(np.split(a,2,axis=1))
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11]])]
In [ ]:
# split不等量分割也会报错
print(np.split(a,3,axis=1))

1.2、垂直分割

In [6]:
a = np.arange(12).reshape((4,3))
print(a)
[[ 0  1  2]
 [ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]]
In [7]:
print(np.vsplit(a,2))
[array([[0, 1, 2],
       [3, 4, 5]]), array([[ 6,  7,  8],
       [ 9, 10, 11]])]
In [8]:
print(np.split(a,2,axis=0))
[array([[0, 1, 2],
       [3, 4, 5]]), array([[ 6,  7,  8],
       [ 9, 10, 11]])]

2、不等量分割

不等量分割可以用array_split方法

2.1、水平分割

水平分割,所以axis是1

In [9]:
a = np.arange(12).reshape((3,4))
print(a)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
In [10]:
print(np.array_split(a,3,axis=1))
[array([[0, 1],
       [4, 5],
       [8, 9]]), array([[ 2],
       [ 6],
       [10]]), array([[ 3],
       [ 7],
       [11]])]

2.2、垂直分割

垂直分割,所以axis=0

In [11]:
a = np.arange(12).reshape((3,4))
print(a)
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
In [12]:
print(np.array_split(a,2,axis=0))
[array([[0, 1, 2, 3],
       [4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
In [ ]:
 
我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
博主25岁,前端后端算法大数据人工智能都有兴趣。
大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
聊技术,交朋友,修心境,qq404006308,微信fan404006308
26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
人工智能群:939687837

作者相关推荐

原文地址:https://www.cnblogs.com/Renyi-Fan/p/13584715.html