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多线程实例教程
Sep 06 Python
20个常用Python运维库和模块
Feb 12 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
Apr 09 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
Python如何在DataFrame增加数值
Feb 14 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
Jun 12 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
Jul 14 Python
PyQt5中QSpinBox计数器的实现
Jan 18 Python
Django程序的优化技巧
Apr 29 Python
Python 高级库15 个让新手爱不释手(推荐)
May 15 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
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
实例讲解JS中pop使用方法
2019/01/27 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
医院实习接收函
2014/01/12 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
公司会计岗位职责
2014/02/13 职场文书
环境整治工作方案
2014/05/18 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
2014年教育教学工作总结
2014/11/13 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
领导视察通讯稿
2015/07/18 职场文书
公司人事管理制度
2015/08/05 职场文书
入党转正申请书范文
2019/05/20 职场文书
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python