📜  Python| numpy.array_split() 方法(1)

📅  最后修改于: 2023-12-03 14:46:21.822000             🧑  作者: Mango

Python | numpy.array_split() 方法

简介

numpy.array_split() 是一个 numpy 库中的函数,用于按指定的轴将数组分割为多个子数组。

该函数在将数组分割时尽可能均匀地分配元素到子数组中。但是,如果无法等分,则最后一个子数组可能会包含更少的元素。

语法

numpy.array_split(arr, num, axis=0)

  • arr: 需要分割的数组
  • num: 分割的份数
  • axis: 分割的轴,默认为0(水平方向)
返回值

返回一个包含分割后的子数组的列表

示例

以下是使用 numpy.array_split() 方法的示例:

import numpy as np

# 创建一个一维数组
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# 将数组分割为三个子数组
result = np.array_split(arr, 3)

print(result)

输出结果为:

[array([1, 2, 3, 4]), array([5, 6, 7]), array([ 8,  9, 10])]
更多示例
分割二维数组
import numpy as np

# 创建一个二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 按列分割数组
result = np.array_split(arr, 3, axis=1)

print(result)

输出结果为:

[array([[1],
       [4],
       [7]]), 
 array([[2],
       [5],
       [8]]), 
 array([[3],
       [6],
       [9]])]
分割多维数组
import numpy as np

# 创建一个三维数组
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

# 按深度(第0个轴)分割数组
result = np.array_split(arr, 2, axis=0)

print(result)

输出结果为:

[array([[[1, 2, 3],
        [4, 5, 6]]]), 
 array([[[7, 8, 9],
        [10, 11, 12]]])]
注意事项
  • 分割的份数必须大于等于数组的大小,否则会报错。
  • 分割的轴必须是数组的有效维度。
  • 分割的结果是原始数组的视图,而不是副本,对其中一个子数组的修改将影响原始数组。

以上就是关于 numpy.array_split() 方法的介绍。希望对你有所帮助!