请参考下面的内容,这是Python中numpy库中的split函数的完整攻略。
numpy.split()
函数
在numpy中,split函数可以将一个numpy数组拆分为多个子数组。
numpy.split()
的函数原型:numpy.split(ary, indices_or_sections, axis=0)
ary
:被拆分的数组indices_or_sections
:可以是一个整数,表示将数组平均的拆成几份,也可以是一个数组,其中包含要使用的拆分点。当然,这些点必须满足条件:ary.shape[axis]%indices_or_sections
,也就是拆分后的每部分的形状必须相等,除非无法实现平均拆分。axis
:默认为0,指定 split 沿哪个轴进行即在哪里将数组分成子数组。例如,如果axis=0
则沿着第 0 个轴分割,即第一维。
返回值:返回拆分后的多个数组组成的列表,列表中的数组顺序按照拆分点从左往右排列。这些数组的 shape 必须与 参数ary匹配,因为根据某些指标进行沿某个轴拆分的量必须是整数。
示例1
使用np.split将一维数组按每两个元素为一组进行拆分:
import numpy as np
a = np.array([1,2,3,4,5,6])
b = np.split(a, 3)
# 输出拆分后的数组
print(b)
# 输出拆分后的数组shape
for x in b:
print(x.shape)
输出结果:
[array([1, 2]), array([3, 4]), array([5, 6])]
(2,)
(2,)
(2,)
示例说明:上面的代码将一维数组 [1,2,3,4,5,6]
按照每两个元素为一组进行拆分,返回一个包含三个array的列表。
示例2
使用np.split将二维数组按行进行拆分:
import numpy as np
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]])
b = np.split(a, 2, axis=0)
# 输出拆分后的数组
print(b)
# 输出拆分后的数组shape
for x in b:
print(x.shape)
输出结果:
[array([[1, 2, 3],
[4, 5, 6]]),
array([[ 7, 8, 9],
[10, 11, 12]])]
(2, 3)
(2, 3)
示例说明:上面的代码将二维数组 [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
按行进行拆分,返回一个包含两个array的列表。
如果你还有其他问题可以继续问我。