在 NumPy 中,理解数组的“垂直轴”通常与理解数组的维度和形状有关。对于二维数组(例如,你可以将其视为矩阵),“垂直轴”通常指的是行的方向。以下是一些关键点以帮助理解:
二维数组中的轴:在二维数组(矩阵)中,有两个轴:
轴 0(Axis 0):垂直方向,即行方向。
轴 1(Axis 1):水平方向,即列方向。
垂直轴操作:当你在二维数组上进行沿着垂直轴的操作时(例如,使用 np.vsplit 或在 np.sum 中设置 axis=0),你是在处理每一行,或者说是在行的方向上进行操作。
可视化理解:可以将二维数组想象为一个表格,其中轴 0(垂直轴)运行自上而下,轴 1(水平轴)运行自左至右。
例如,对于以下数组:
[[ 0,1],
[ 2, 3],
[ 4, 5]]
垂直轴(轴 0)的操作会影响 [0, 1],[2, 3],[4, 5] 这样的行。
水平轴(轴 1)的操作会影响 [0, 2, 4] 和 [1, 3, 5] 这样的列
数组的切割在 NumPy 中通常指的是将一个大数组分割成几个较小的数组。有几个常用的函数可以用于数组的切割,例如 np.split, np.hsplit, 和 np.vsplit。下面我将通过例子解释这些函数的基本用法。
1. np.split
np.split 用于沿指定轴分割数组。
例子:import numpy as np
# 创建一个数组
array = np.arange(9) # [0, 1, 2, 3, 4, 5, 6, 7, 8]
# 将数组分割成三个相等的部分
result = np.split(array, 3)
print(result)
输出将会是:
[array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]
这里,数组 [0, 1, 2, 3, 4, 5, 6, 7, 8] 被平均分割成三个部分
2. np.hsplit
np.hsplit 用于水平分割数组(即沿着数组的水平轴)。
例子:
# 创建一个 2x6 的数组
array = np.arange(12).reshape(2, 6) # [[ 0, 1, 2, 3, 4, 5], [ 6, 7, 8, 9, 10, 11]]
# 水平分割成三个部分
result = np.hsplit(array, 3)
print(result)
输出将会是:
[array([[0, 1],
[6, 7]]),
array([[2, 3],
[8, 9]]),
array([[ 4, 5],
[10, 11]])]
这里,2x6 的数组被水平分割成了三个2x2 的数组
3. np.vsplit
np.vsplit 用于垂直分割数组(即沿着数组的垂直轴)。
例子
# 创建一个 6x2 的数组
array = np.arange(12).reshape(6, 2) # [[ 0, 1], [ 2, 3], [ 4, 5], [ 6, 7], [ 8, 9], [10, 11]]
# 垂直分割成三个部分
result = np.vsplit(array, 3)
print(result)
输出将会是:
[array([[0, 1],
[2, 3]]),
array([[4, 5],
[6, 7]]),
array([[ 8, 9],
[10, 11]])]
在这个例子中,6x2 的数组被垂直分割成了三个 2x2 的数组。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!