分割二维数组
拆分二维数组时,请使用相同的语法。
使用 array_split() 方法,传入要分割的数组和想要分割的数目。
实例
把这个 2-D 拆分为三个 2-D 数组。
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]])
newarr = np.array_split(arr, 3)
print(newarr)
上例返回三个 2-D 数组。
让我们看另一个例子,这次 2-D 数组中的每个元素包含 3 个元素。
实例
把这个 2-D 拆分为三个 2-D 数组。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.array_split(arr, 3)
print(newarr)
上例返回三个 2-D 数组。
此外,您可以指定要进行拆分的轴。
下面的例子还返回三个 2-D 数组,但它们沿行 (axis=1) 分割。
实例
沿行把这个 2-D 拆分为三个 2-D 数组。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.array_split(arr, 3, axis=1)
print(newarr)
另一种解决方案是使用与 hstack() 相反的 hsplit()。
实例
使用 hsplit() 方法将 2-D 数组沿着行分成三个 2-D 数组。
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.hsplit(arr, 3)
print(newarr)
提示:vsplit() 和 dsplit() 可以使用与 vstack() 和 dstack() 类似的替代方法。