Python之NumPy(axis=0 与axis=1)区分详解


Posted in Python onMay 27, 2019

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

>>>df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], \
columns=["col1", "col2", "col3", "col4"])
>>>df
  col1 col2 col3 col4
  0   1   1   1   1
  1   2   2   2   2
  2   3   3   3   3

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

>>> df.mean(axis=1)
0  1
1  2
2  3

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

>>> df.drop("col4", axis=1)
  col1 col2 col3
0   1   1   1
1   2   2   2
2   3   3   3

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时分别代表的含义:

Python之NumPy(axis=0 与axis=1)区分详解

axis参数作用方向图示

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

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 字典修改键(key)的几种方法
Aug 10 Python
BP神经网络原理及Python实现代码
Dec 18 Python
Python列表原理与用法详解【创建、元素增加、删除、访问、计数、切片、遍历等】
Oct 30 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
Dec 19 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 Python
深入浅析Python 函数注解与匿名函数
Feb 24 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
Python3基于print打印带颜色字符串
Jul 06 Python
详解Flask前后端分离项目案例
Jul 24 Python
详解python程序中的多任务
Sep 16 Python
python如何实现DES加密
Sep 21 Python
Python3.7 新特性之dataclass装饰器
May 27 #Python
Python3多目标赋值及共享引用注意事项
May 27 #Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 #Python
python占位符输入方式实例
May 27 #Python
numpy.where() 用法详解
May 27 #Python
python numpy实现文件存取的示例代码
May 26 #Python
numpy linalg模块的具体使用方法
May 26 #Python
You might like
无线电的诞生过程
2021/03/01 无线电
php flush类输出缓冲剖析
2008/10/19 PHP
php随机输出名人名言的代码
2012/10/07 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
PHP7修改的函数
2021/03/09 PHP
用ADODB.Stream转换
2007/01/22 Javascript
extjs fckeditor集成代码
2009/05/10 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
AngularJS入门教程(二):AngularJS模板
2014/12/06 Javascript
正则表达式(语法篇推荐)
2016/06/24 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
2016/08/23 Javascript
Koa 使用小技巧(小结)
2018/10/22 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
Python日志模块logging简介
2015/04/13 Python
python实现的系统实用log类实例
2015/06/30 Python
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
使用HTML5拍照示例代码
2013/08/06 HTML / CSS
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
大学生四年生活自我鉴定
2013/11/21 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
奥巴马开学演讲观后感
2015/06/12 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书