在NumPy中,轴(axis)是指数组的维度,也可以理解为数组的某一维度的编号。在对数组进行操作时,指定轴可以帮助我们对数组进行特定的计算和操作。
以下是一些常见的轴使用示例:
计算数组的和或平均值
我们可以使用np.sum()
或np.mean()
函数计算数组在某个轴上的和或平均值。例如,对于一个二维数组a,我们可以计算它的每一行或每一列的和或平均值:
import numpy as np
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
# 计算每一行的和
row_sum = np.sum(a, axis = 1)
print(row_sum)#[6 15 24]
# 计算每一列的平均值
col_mean = np.mean(a, axis = 0)
print(col_mean)#[4. 5. 6.]
数组的转置
使用np.transpose()
函数可以对数组进行转置操作,即将数组的行和列互换。例如,对于一个二维数组a,我们可以将它转置为另一个二维数组b:
import numpy as np
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
# 将a转置为b
b = np.transpose(a)
print(b)
#[[1 4 7]
#[2 5 8]
#[3 6 9]]
数组的拼接和分割
使用np.concatenate()
函数可以将多个数组沿着某个轴进行拼接。例如,对于两个二维数组a和b,我们可以将它们沿着行轴进行拼接:
import numpy as np
a = np.array([
[1, 2, 3],
[4, 5, 6]
])
b = np.array([
[7, 8, 9],
[10, 11, 12]
])
# 沿着行轴拼接a和b
c = np.concatenate((a, b), axis = 0)
print(c)
#[[1 2 3]
#[4 5 6]
#[7 8 9]
#[10 11 12]]
使用np.split()
函数可以将数组沿着某个轴进行分割。例如,对于一个二维数组a,我们可以将它沿着列轴分割为三个数组:
import numpy as np
a = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
# 沿着列轴分割a为三个数组
b, c, d = np.split(a, 3, axis = 1)
print(b)
#[[1]
#[4]
#[7]]
print(c)
#[[2]
#[5]
#[8]]
print(d)
#[[3]
#[6]
#[9]]