深入理解pyhton中的axis=0 和axis=1

其实axis的重点在于方向,而不是行和列。具体到各种用法而言也是如此。

如何理解axis:

axis是对数组层级的刻画,对axis正确的理解,就像他的名字一样-----‘轴’,即axis表示的是沿着哪一个轴的方向。这一点对于理解axis很重要,也很容易被忽视,axis本身是指数组的轴,在执行不同的函数时,具体的操作是沿着轴的方向进行的。axis的取值取决于数据的维度,如果数据是一维数组那么axis只有0,如果数据是二维的,那么axis可以取0和1,如果数据是三维的,那么axis就可以取0、1和2。

axios为什么会不稳定 axis为0_删除行

 

 其实从上面这张图片中我们可以看到,在二维数据中,axis=0是沿着列的方向的,axis=1表示沿着行的方向的

即:

  • axis=0表示沿着列的方向,做逐行的操作
  • axis=1表示沿着行的方向,做逐列的操作

 

drop函数

 这里会有一点绕,特别是去理解drop函数中的axis,很多人一开始没有办法理解和接受。我们再回过头理解一下drop函数。

  • axis=1,drop函数删除列

drop函数删除数据列的时候需要指定列名(比如指定删除ONE这一列),我们设置axis=1,这表示:对于ONE这列,遍历所有索引(index),沿着水平方向对数据执行drop操作。

# 可以理解为先选列,再按行执行操作,如果删除多列就会稍微好理解一点。

  • axis=0,drop函数删除行

同样如果我们要删除行,我们要指定好要删除的行名(比如指定删除a这一行),我们设置axis=0,这表示:对于a这一行,遍历所有的列(columns),我们沿着垂直方向对数据执行drop操作。

concat函数

是pandas下的一个合并数据的函数,axis=0表示纵向合并(沿着0轴方向),axis=1表示横向合并(沿着1轴方向)

mean函数

和concat函数中的axis相对会好理解一点。当设置axis=0,就表示沿着0轴即列进行处理,对应的便是mean计算每一列的均值,

总结:

其实就需要记住drop那个特殊的例子,axis=0是删除行,axis=1是删除列