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操作MongoDB基础知识
Nov 01 Python
Python修改Excel数据的实例代码
Nov 01 Python
Python读写Redis数据库操作示例
Mar 18 Python
Python实现的数据结构与算法之快速排序详解
Apr 22 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
一文总结学习Python的14张思维导图
Oct 17 Python
python中的文件打开与关闭操作命令介绍
Apr 26 Python
numpy向空的二维数组中添加元素的方法
Nov 01 Python
Python3.5 Pandas模块之Series用法实例分析
Apr 23 Python
Python3基础教程之递归函数简单示例
Jun 07 Python
python 魔法函数实例及解析
Sep 25 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 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
人大复印资料处理程序_输入篇
2006/10/09 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
python控制台显示时钟的示例
2014/02/24 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
卫校中专生的自我评价
2014/01/15 职场文书
统计岗位职责
2014/02/21 职场文书
英语课外活动总结
2014/08/27 职场文书
优秀教师单行材料
2014/12/16 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android