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学习资料
Feb 08 Python
Python Web框架Flask中使用百度云存储BCS实例
Feb 08 Python
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
Mar 06 Python
python下载文件时显示下载进度的方法
Apr 02 Python
浅谈Python中函数的参数传递
Jun 21 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
Dec 10 Python
Python爬虫实现百度图片自动下载
Feb 04 Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 Python
python之消除前缀重命名的方法
Oct 21 Python
python中列表的含义及用法
May 26 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
Python 中Operator模块的使用
Jan 30 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
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
php自定义分页类完整实例
2015/12/25 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
jQuery实现frame之间互通的方法
2017/06/26 jQuery
微信小程序 websocket 实现SpringMVC+Spring+Mybatis
2017/08/04 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
Python3基础之函数用法
2014/08/13 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
HTML5 video播放器全屏(fullScreen)方法实例
2015/04/24 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
法人代表授权委托书
2014/04/08 职场文书
党员民主评议个人总结
2014/10/20 职场文书
2015年党员个人自我评价
2015/03/03 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
Python基础之hashlib模块详解
2021/05/06 Python