#array的分割
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]]
#np.split()只能进行等量分割,它返还一个列表
#序列解包后,a,b为ndarray对象,type(a)=type(b)=<class 'numpy.ndarray'>
a,b=np.split(A,2,axis=1)
print(a)
print(b)
输出
[[0 1]
[4 5]
[8 9]]
[[ 2 3]
[ 6 7]
[10 11]]
#np.array_split()进行不等分割
c,d,e=np.array_split(A,3,axis=1)
print(c)
print(d)
print(e)
输出
[[0 1]
[4 5]
[8 9]]
[[ 2]
[ 6]
[10]]
[[ 3]
[ 7]
[11]]
#类似于array合并 np.vstack((A,B))
#np.vsplit(A,n)和np.hsplit(A,n)可用于垂直和水平方向上指定段数的分割
#但同样只能用于等量分割
print(np.vsplit(A,3))
print(np.hsplit(A,2))
输出
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8, 9, 10, 11]])]
[array([[0, 1],
[4, 5],
[8, 9]]), array([[ 2, 3],
[ 6, 7],
[10, 11]])]
NumPy数组分割详解
本文详细介绍了使用NumPy库中的np.split(), np.array_split(), np.vsplit() 和 np.hsplit() 函数对数组进行等量及不等量分割的方法。通过实例展示了不同函数在垂直和水平方向上的分割应用。

2263

被折叠的 条评论
为什么被折叠?



