pandas中的axis参数(看其他人的博客中产生的疑问点,用自己的话解析出来)

axis有两个值:axis=0或者axis=1

看到很多资料都不太理解,把我个人理解说一下:

下面这张图,在很多资料中都看到了,我只能说先死记住 axis=0,代表跨行(注意看这张图的axis=0的箭头向下指),axis=1,代表跨列(注意看这张图的axis=1的箭头向右指,水平方向)

 

二维数据拥有两个轴:

0轴沿着行垂直往下走,1轴沿着列水平走

也可以说:

1.使用axis=0表示沿着行标签/索引值(index) 向下执行     #如果你学了pandas中的sreies就知道index了

2.使用axis=1表示沿着列标签水平方向执行      #列名columns

下面这两个问什么搞懂了,本篇文章的问题你基本上就懂了。

 

 

axis=0,index,指的是遍历每个index,行号,在做sum()求和、mean()求平均值时,在纵向上遍历,是对每列数据做操作(看图片的箭头指向方向)。之前我在这也有疑问,最开始说axis=0是代表跨行的,这里为什么又说是对每列数据做操作。我的理解是每行取一个值,组成了一列,所以这里sum()就是获取一列数据的和。drop(index,axis=0),传入的参数是指定了某一行index,axios=0也是指跨行,所以说就去掉对应行号的所有值。

axis=1,columns,指的是遍历每个columns,列名,在做sum()求和、mean()求平均值,在横向上遍历每行,对每行数据做操作,每列数据取一个值,就组成了一行数据。drop(columns,axis=1),传入的是列名,所以会去掉对应列名上所有值

代码示例:

生成DataFrame数据

 

 axis=0,获取一列的和

 

 axis=1,'two',删除列two数据

 

 如果你是这样写的会报错,在这个axis中没有找到列two

 

 

 

总结:

我觉得最重要的是先记着axis=0是代表跨行的,axis=1是代表跨列的,然后求和,求平均值,删除等操作在这个基础上可以思考出来。

 

 

 

posted @ 2019-12-04 19:07  只会玩辅助  阅读(1585)  评论(0编辑  收藏  举报