Python Numpy 实现交换两行和两列的方法


Posted in Python onJune 26, 2019

numpy应该是一个和常用的包了,但是在百度查了很久,也没有查到如何交换两列(交换两行的有),所以查看了其他的文档,找到了方法。

交换两行

比如a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]]),想要交换第二行和第三行,看起来很简单,直接写代码:

import numpy as np
a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]])
tmp = a[1]
a[1] = a[2]
a[2] = tmp

运行结果却为:

array([[1, 2, 3],
  [1, 6, 5],
  [1, 6, 5],
  [9, 3, 4]])

原因是因为tmp = a[1]并非a[1]的一个copy,而是一个“别名”,那么我们改写成:

import numpy as np
a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]])
tmp = np.copy(a[1])
a[1] = a[2]
a[2] = tmp

运行结果为:

array([[1, 2, 3],
  [1, 6, 5],
  [2, 3, 4],
  [9, 3, 4]])

结果正常,那还有没有更简单的方法呢,例如swap之类的,经查阅找到一种最简单的方法:

import numpy as np
a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]])
a[[1,2], :] = a[[2,1], :]

交换两列

和上面类似:

a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]])
a[:,[1,0,2]]
a

得到:

array([[1, 2, 3],
  [2, 3, 4],
  [1, 6, 5],
  [9, 3, 4]])

以上这篇Python Numpy 实现交换两行和两列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现百度关键词排名查询
Mar 30 Python
使用python编写android截屏脚本双击运行即可
Jul 21 Python
使用Python的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
python脚本监控docker容器
Apr 27 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
通过python+selenium3实现浏览器刷简书文章阅读量
Dec 26 Python
Python数据结构与算法(几种排序)小结
Jun 22 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 Python
浅析Django中关于session的使用
Dec 30 Python
Python numpy多维数组实现原理详解
Mar 10 Python
PyTorch-GPU加速实例
Jun 23 Python
基于python实现简单C/S模式代码实例
Sep 14 Python
python 字典操作提取key,value的方法
Jun 26 #Python
通过PYTHON来实现图像分割详解
Jun 26 #Python
Flask模板引擎之Jinja2语法介绍
Jun 26 #Python
如何使用Python实现自动化水军评论
Jun 26 #Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 #Python
Python 数据可视化pyecharts的使用详解
Jun 26 #Python
python 实现交换两个列表元素的位置示例
Jun 26 #Python
You might like
php缩放图片(根据宽高的等比例缩放)实例介绍
2013/06/09 PHP
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
Grunt入门教程(自动任务运行器)
2015/08/06 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
浅析python中的del用法
2020/09/02 Python
python日志通过不同的等级打印不同的颜色(示例代码)
2021/01/13 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
教你如何一步一步用Canvas写一个贪吃蛇
2018/10/22 HTML / CSS
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
澳大利亚网上书店:QBD
2021/01/09 全球购物
银行求职信模板
2015/03/20 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang
总结python多进程multiprocessing的相关知识
2021/06/29 Python
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android