在使用 Pandas 和 Numpy 的时候,总是搞不懂 axis,感觉和我理解的正好相反。

比如下面的操作:

axis=0 代表的是和行有关,axis=1 是和列有关,所以我理解的是 s0 是对行进行相加,结果应该 s0=[3 7],但实际却是[4 6]。

关于为什么是这样的设计,我相信下面这个 youtube 视频可以解决问题:

如果你看不了,我下面简单说明一下。

还是以上面的例子为例,如果你做一些数学上的操作,例如 mean,sum,axis=0 代表的是穿越所有的行进行求 mean,sum 等等。

我们通过下面的图来理解一下:

当我们设置 axis=0 的时候,无论是 pandas 还是 numpy 它都会按照箭头的方向对所有的行进行操作,所以最后的结果是 [4 6]。

但是有一种情况我们需要注意,就是在使用 drop 的时候,

然后我们操作第一列,是通过 axis=1 来删除的,这里的逻辑和我们的正常思维是一样的。