axis=0 和 axis=1 分别是 Pandas 中两个非常常见的参数。它们用于指定操作的方向,即按行还是按列进行操作。具体来说:
axis=0 表示按照行的方向(从上到下)进行操作,也就是对每一列进行操作。
axis=1 表示按照列的方向进行操作,也就是对每一行进行操作。
可以看到,mean() 方法默认按照 axis=0 方向计算每一列的均值。
可以看到,mean() 方法按照 axis=1 方向计算每一行的均值。
举个实际的例子!
# 计算training 训练集的最大值,最小值,平均值
maximums = training_data.max(axis=0)#axis=0 表示按照行的方向(从上到下)进行操作,也就是对每一列进行操作。 计算每一项(每一列)的最大值
print(maximums) #通过打印内容可知:实际上是 每一项数据的最大值#[ 88.9762 100. 25.65 1. 0.871 8.78 100. 12.1265
#24. 666. 22. 396.9 37.97 50. ]
minimums = training_data.min(axis=0)
# print(training_data.sum(axis=0))#计算每一项(每一列)的合计 求和
#数组 矩阵的 长度 已知 原数据矩阵 长度 506 *0.8 =404.8 约等 404
print(training_data.shape[0])#shape函数是Numpy中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。
maximums = training_data.max(axis=0)
#axis=0 表示按照列的方向(从上到下)进行操作,也就是对每一列进行操作。 计算每一项(每一列)的最大值
print(maximums)
#通过打印内容可知:实际上是 每一项数据的最大值#[ 88.9762 100. 25.65 1. 0.871 8.78 100. 12.1265
#24. 666. 22. 396.9 37.97 50. ]
附:axis=0 与 axis=1 的区分
官方帮助的解释:
轴用来为超过一维数组定义的属性,二维数据拥有两个轴:第0轴沿着行的方向垂直向下,第1轴沿着列的方向水平延申。
根据官方的说法,1表示横轴,方向从左到右;0表示纵轴,方向从上到下。当axis=1时,数组的变化是横向的,体现出列的增加或者减少。反之,当axis=0时,数组的变化是纵向的,体现出行的增加或减少。
下图为dataframe中axis为0和1时的图示:
实例: