在Python中,
axis
参数在许多库如NumPy、Pandas中是一个重要概念,它表示数据沿着哪个轴或维度进行操作。
NumPy
np.array()
对于一个二维数组(矩阵),axis=0
表示操作沿着行(垂直方向),axis=1
表示操作沿着列(水平方向)
# 创建一个 3x3 的数组 |
np.concatenate(a1,a2 axis=0)
np.concatenate
主要用于在指定轴上对多个数组进行拼接,拼接的轴的长度必须相同,例如:
import numpy as np |
np.append(arr, values, axis=None)
np.append
是在数组的末尾添加元素,其使用方法为:
np.append(arr, values, axis=None) |
其中,arr为原数组,values为需要添加的值,axis为需要添加的轴(如果不指定axis,则会将数组先展开成1D数组,再进行添加)。如果添加的值是一个数组,则会将数组在指定的轴上与原数组进行拼接。
import numpy as np |
需要注意的是,np.append
返回的是新的数组,不会改变原数组。在原始数据集比较大时,推荐使用np.concatenate()
函数进行数组拼接。
np.stack(array, axis=0)
沿着新轴连接数组的序列,此方法与拼接不同。
axis 参数指定新轴在结果尺寸中的索引。例如,如果axis=0
,它将是第一个维度,如果axis=-1
,它将是最后一个维度。
一维数组
import numpy as np |
-
(2,3)
和(3,2)
中的2
是怎么来的:因为有a
和b
两个array
。 -
axis
指定了要增加的维度:例如axis=0
表示在第一维度上增加,因此(2,3)
中的2
位于第一维度。而axis=1
表示在第二维度上增加,因此(3,2)
中的2
位于第二维度。
二维数组
两个要素:
-
stack堆叠的 方向
-
stack堆叠后增加的 维度
# 定义一个2行3列的二维数组 |
这里的2
就是指的a
和b
,而2
放在什么位置是根据axis
来确定的
Pandas
在Pandas中,axis
参数用于在DataFrame
(类似于二维表格的数据结构)上执行操作,如汇总、排序和删除列或行等。与NumPy
类似,axis=0
表示操作沿着行(垂直方向),axis=1
表示操作沿着列(水平方向)
import pandas as pd |
Reference
[1] numpy.stack最通俗的理解: https://blog.csdn.net/qq_17550379/article/details/78934529