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里对list中的整数求平均并排序
Sep 12 Python
Python的Django框架中的数据过滤功能
Jul 17 Python
Python的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
python版微信跳一跳游戏辅助
Jan 11 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
解决python删除文件的权限错误问题
Apr 24 Python
python队列Queue的详解
May 10 Python
python命令行参数用法实例分析
Jun 25 Python
Python 列表去重去除空字符的例子
Jul 20 Python
Python队列、进程间通信、线程案例
Oct 25 Python
python中有关时间日期格式转换问题
Dec 25 Python
如何使用Python进行PDF图片识别OCR
Jan 22 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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
在JS方法中返回多个值的方法汇总
2015/05/20 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
javascript同步服务器时间和同步倒计时小技巧
2015/09/24 Javascript
javascript伸缩型菜单实现代码
2015/11/16 Javascript
js 判断附件后缀的简单实现方法
2016/10/11 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
几种tab切换详解
2017/02/03 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
读懂CommonJS的模块加载
2019/04/19 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
python绘图库Matplotlib的安装
2014/07/03 Python
Python实现包含min函数的栈
2016/04/29 Python
django加载本地html的方法
2018/05/27 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
比利时香水网上商店:NOTINO
2018/03/28 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
人事主管岗位职责范本
2013/12/04 职场文书
美术专业个人自我评价
2014/01/18 职场文书
三爱活动实施方案
2014/03/19 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
行政人事主管岗位职责
2015/04/11 职场文书