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的标准模块包json详解
Mar 13 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
在scrapy中使用phantomJS实现异步爬取的方法
Dec 17 Python
python多线程调用exit无法退出的解决方法
Feb 18 Python
python实现祝福弹窗效果
Apr 07 Python
python 弧度与角度互转实例
Apr 15 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
python爬虫容易学吗
Jun 02 Python
python根据用户需求输入想爬取的内容及页数爬取图片方法详解
Aug 03 Python
让文件路径提取变得更简单的Python Path库
May 27 Python
Python机器学习应用之工业蒸汽数据分析篇详解
Jan 18 Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
解析数组非数字键名引号的必要性
2013/08/09 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
Bootstrap每天必学之表格
2015/11/23 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
2019/04/26 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
js实现随机点名程序
2020/09/17 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
Python的lambda匿名函数的简单介绍
2013/04/25 Python
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
python实现梯度下降算法
2020/03/24 Python
Python headers请求头如何实现快速添加
2020/11/03 Python
25个CSS3动画按钮和菜单教程分享
2012/10/03 HTML / CSS
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
NOTINO英国:在线购买美容和香水
2020/02/25 全球购物
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
给老婆的婚前保证书
2014/02/01 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
win10音频服务未响应怎么解决?win10音频服务未响应未修复的解决方法
2022/08/14 数码科技