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选择排序算法的实现代码
Nov 21 Python
实例讲解Python的函数闭包使用中应注意的问题
Jun 20 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
Mar 31 Python
python通过伪装头部数据抵抗反爬虫的实例
May 07 Python
如何在python字符串中输入纯粹的{}
Aug 22 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
Dec 05 Python
Python3 执行Linux Bash命令的方法
Jul 12 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
python怎么判断素数
Jul 01 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 Python
python process模块的使用简介
May 14 Python
python opencv通过按键采集图片源码
May 20 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 什么是PEAR?
2009/03/19 PHP
php与XML、XSLT、Mysql的结合运用实现代码
2009/11/19 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
PHP7匿名类用法分析
2016/09/26 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
2011/10/27 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
简单的三步vuex入门
2018/05/20 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
javascript面向对象三大特征之继承实例详解
2019/07/24 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
简单介绍Python中的decode()方法的使用
2015/05/18 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
Python中base64与xml取值结合问题
2019/12/22 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
2020/02/05 Python
Django实现图片上传功能步骤解析
2020/04/22 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
广告学专业推荐信范文
2013/11/23 职场文书
运动会广播稿200米
2014/01/27 职场文书
公司拓展活动方案
2014/02/13 职场文书
2014年党支部学习材料
2014/05/19 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
MySQL主从切换的超详细步骤
2022/06/28 MySQL