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添加元素的4种方法分享
Nov 28 Python
Python编写屏幕截图程序方法
Feb 18 Python
Python中的defaultdict模块和namedtuple模块的简单入门指南
Apr 01 Python
详解Python 解压缩文件
Apr 09 Python
Python 实现微信防撤回功能
Apr 29 Python
python xlwt如何设置单元格的自定义背景颜色
Sep 03 Python
Python字符串格式化输出代码实例
Nov 22 Python
Python实现结构体代码实例
Feb 10 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
python中的列表和元组区别分析
Dec 30 Python
pytorch 中forward 的用法与解释说明
Feb 26 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
在PHP3中实现SESSION的功能(一)
2006/10/09 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
微信小程序报错:this.setData is not a function的解决办法
2017/09/27 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
Python中数字以及算数运算符的相关使用
2015/10/12 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
python 美化输出信息的实例
2018/10/15 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
Django集成celery发送异步邮件实例
2019/12/17 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
Python进行特征提取的示例代码
2020/10/15 Python
毕业生医学检验求职信
2013/10/16 职场文书
学习十八大精神心得体会
2013/12/31 职场文书
女娲补天教学反思
2014/02/05 职场文书
保护校园环境倡议书
2015/04/28 职场文书
男生贾里读书笔记
2015/06/30 职场文书
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js
Python加密技术之RSA加密解密的实现
2022/04/08 Python