Stackoverflow.com是程序员的好去处,本公众号将以pandas为主题,开始一个系列,争取做到每周一篇,翻译并帮助pandas学习者一起理解一些有代表性的案例。今天的主题就是Pandas与Numpy中一个非常重要的参数:axis.(轴)

Stackoverflow问题如下:

python中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列?考虑以下代码:

  1. >>>df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], \

  2. columns=["col1", "col2", "col3", "col4"])

  3. >>>df

  4. col1 col2 col3 col4

  5. 0 1 1 1 1

  6. 1 2 2 2 2

  7. 2 3 3 3 3

  • 1

如果我们调用df.mean(axis=1),我们将得到按行计算的均值

  1. >>> df.mean(axis=1)

  2. 0 1

  3. 1 2

  4. 2 3

  • 1

然而,如果我们调用 df.drop((name, axis=1),我们实际上删掉了一列,而不是一行:

  1. >>> df.drop("col4", axis=1)

  2. col1 col2 col3

  3. 0 1 1 1

  4. 1 2 2 2

  5. 2 3 3 3

  • 1

Can someone help me understand what is meant by an "axis" in pandas/numpy/scipy?
有人能帮我理解一下,在pandas、numpy、scipy三都当中axis参数的真实含义吗?

投票最高的答案揭示了问题的本质:

其实问题理解axis有问题,df.mean其实是在每一行上取所有列的均值,而不是保留每一列的均值。也许简单的来记就是axis=0代表往跨行(down),而axis=1代表跨列(across),作为方法动作的副词(译者注)

换句话说:

  • 使用0值表示沿着每一列或行标签\索引值向下执行方法
  • 使用1值表示沿着每一行或者列标签模向执行对应的方法

下图代表在DataFrame当中axis为0和1时分别代表的含义:

axis参数作用方向图示

另外,记住,Pandas保持了Numpy对关键字axis的用法,用法在Numpy库的词汇表当中有过解释:

轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸。

所以问题当中第一个列子 df.mean(axis=1)代表沿着列水平方向计算均值,而第二个列子df.drop(name, axis=1) 代表将name对应的列标签(们)沿着水平的方向依次删掉。

作者:dudubird85
链接:http://www.jianshu.com/p/9aa448ea397c
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

pandas 中对axis=0,axis=1的理解,对应pandas中drop的用法相关推荐

  1. pandas中的axis=0,axis=1具体含义(转)

    第一个链接排版更好 教你轻松分清pandas中的axis=0,axis=1具体含义 第二个链接: 第一个链接是转载第二个链接的!! 原文地址

  2. numpy中amin()方法中维度axis=0 1 2 的理解

    https://www.jianshu.com/p/6f58d7f39147 numpy中amin()方法中维度axis=0 1 2 的理解 axis=0  从最外一层的维度来比较 (对半比较  虽然 ...

  3. Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码

    文章目录 1.argmax和max函数区别 2.axis=0/axis=1/axis=-1的区别 3.具体代码分析 ---3.1一维数组 ---3.2二维数组 ---3.3三维数组 1.argmax和 ...

  4. tensorflow中的norm()函数 | axis=0,axis=1,axis=2

    tensorflow中的norm函数作用是用来求L1_norm范数和Eukl_norm范数. 本篇文章主要目的是讲解axis的含义,所以默认都是用L1_norm范数,方便理解. 首先,来看一下2维的情 ...

  5. 教你轻松分清pandas中的axis=0,axis=1具体含义

    在学习Pandas的过程中碰到里面有一些函数都包含了axis这个参数,但是这参数包含两个值0和1,而且0和1代表不同的含义,这也让我学的有点懵逼,于是网上查阅了一些相关资料把学习心得记录下来. 以下面 ...

  6. numpy中的axis=0,axis=1

    from: http://blog.csdn.net/rango_lhl/article/details/50542887 axis=0表述列 axis=1表述行 如下面例子: In [52]: ar ...

  7. 【numpy】中,对axis【轴】axis=0 axis=1的理解

    版权声明:下文一部分为CSDN博主「贾辛洪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/jiaxinhon ...

  8. python中axis=0 axis=1的理解

    首先请看一下官方帮助的解释: 轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸. 注意看,官方对于0和1的解释是轴,也就是坐标轴.而坐标轴是有方 ...

  9. docker -v 覆盖了容器中的文件_10分钟让你理解 docker 容器中的 uid 和 gid

    默认情况下,容器中的进程以 root 用户权限运行,并且这个 root 用户和宿主机中的 root 是同一个用户.听起来是不是很可怕,因为这就意味着一旦容器中的进程有了适当的机会,它就可以控制宿主机上 ...

最新文章

  1. python的标准库turtle_Python标准库: turtle--海龟绘图。
  2. python窗口动态实时显示时间_苏州2.8寸串口屏厂家:切管机触摸屏实时动态显示切割过程...
  3. 极客Web前端开发资源大荟萃#017
  4. Liststring[] 如何去重
  5. li span 时间向右排版问题
  6. Java Decompiler(Java反编译工具)
  7. 模板:LGV引理(线性代数)
  8. 科普 | 动态本体简介
  9. 苹果对体无完肤的 iOS 11 最后的弥补
  10. QT编程编程入门系列文章之一——QT编程简介
  11. HTML&CSS:制作简易电商网站
  12. 【数据挖掘案例】财政收入影响因素分析及预测模型
  13. 用python实现词频分析+词云
  14. 北漂生活第十四弹-5.24 兜兜转转又是一周
  15. 单片机裸机 vs RTOS多线程
  16. MBR膜持续发力 守护绿水青山
  17. CF833D Red-Black Cobweb 点分治、树状数组
  18. 【JavaEE】网络编程之TCP套接字、UDP套接字
  19. HTML5基础资源分享
  20. (十七)QT生成PDF文件

热门文章

  1. 2016年福建两化深度融合与新型CIO创新发展 论坛圆满落幕
  2. 数据中心与云数据中心
  3. Java后台phantomjs导出复杂图表PDF
  4. 论文笔记-2019-Object Detection in 20 Years: A Survey
  5. 游戏运营用到的工具、看的书
  6. 点开,看一段,你就会喜欢上学习pandas,你该这么学!No.3
  7. mysql 输出名称_MySQL常用的SQL语句//输出所有信息showfullfieldsfrom'表名称';//改表
  8. 永辉超市第三季营收222亿:净亏7.8亿 卖金龙鱼股权套现1.7亿
  9. 如何在Win10桌面上显示“此电脑、控制面板、网络、用户的文件”图标
  10. 【雅思】【绿宝书错词本】List1~12