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兔子毒药问题实例分析
Mar 05 Python
Python中逗号的三种作用实例分析
Jun 08 Python
python邮件发送smtplib使用详解
Jun 16 Python
python 多线程重启方法
Feb 18 Python
Python利用matplotlib做图中图及次坐标轴的实例
Jul 08 Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 Python
Centos7 下安装最新的python3.8
Oct 28 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
浅谈pytorch torch.backends.cudnn设置作用
Feb 20 Python
Python可变对象与不可变对象原理解析
Feb 25 Python
Django静态资源部署404问题解决方案
May 11 Python
浅谈盘点5种基于Python生成的个性化语音方法
Feb 05 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
jQuery 动画基础教程
2008/12/25 Javascript
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
jQuery extend()详解及简单实例
2017/05/06 jQuery
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
微信小程序实现列表下拉刷新上拉加载
2020/07/29 Javascript
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
python如何写个俄罗斯方块
2020/11/06 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
新闻专业应届生求职信
2013/10/31 职场文书
法律系毕业生求职信
2014/05/28 职场文书
求职意向书范本
2015/05/11 职场文书
2015年机关纠风工作总结
2015/05/15 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
Pytorch中的学习率衰减及其用法详解
2021/06/05 Python
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android