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)
In [2]:
# hsplit
print(np.hsplit(a,2))
In [ ]:
# hsplit方法不等量分割会报错
print(np.hsplit(a,3))
In [4]:
# axis=1表示对水平进行操作
print(np.split(a,2,axis=1))
In [ ]:
# split不等量分割也会报错
print(np.split(a,3,axis=1))
1.2、垂直分割
In [6]:
a = np.arange(12).reshape((4,3))
print(a)
In [7]:
print(np.vsplit(a,2))
In [8]:
print(np.split(a,2,axis=0))
2、不等量分割
不等量分割可以用array_split方法
2.1、水平分割
水平分割,所以axis是1
In [9]:
a = np.arange(12).reshape((3,4))
print(a)
In [10]:
print(np.array_split(a,3,axis=1))
2.2、垂直分割
垂直分割,所以axis=0
In [11]:
a = np.arange(12).reshape((3,4))
print(a)
In [12]:
print(np.array_split(a,2,axis=0))
In [ ]: