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 25 Python
Python标准库之Sys模块使用详解
May 23 Python
Python多进程同步简单实现代码
Apr 27 Python
Python实现按学生年龄排序的实际问题详解
Aug 29 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
python+openCV调用摄像头拍摄和处理图片的实现
Aug 06 Python
python输入错误后删除的方法
Oct 12 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
如何在Python 游戏中模拟引力
Mar 27 Python
python使用多线程+socket实现端口扫描
May 28 Python
python爬取微博评论的实例讲解
Jan 15 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 cache类代码(php数据缓存类)
2010/04/15 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
js验证表单大全
2006/11/25 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
JavaScript中return用法示例
2016/11/29 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
利用Python操作消息队列RabbitMQ的方法教程
2017/07/19 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
Python设计模式之代理模式实例详解
2019/01/19 Python
python进程和线程用法知识点总结
2019/05/28 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
Python递归函数特点及原理解析
2020/03/04 Python
Python fileinput模块如何逐行读取多个文件
2020/10/05 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
Stuart Weitzman欧盟:美国奢华鞋履品牌
2017/05/24 全球购物
护士实习自我鉴定
2013/10/22 职场文书
军训的自我鉴定
2013/12/10 职场文书
节约用电标语
2014/06/17 职场文书
大二学生自我检讨书
2014/10/23 职场文书
办公用品质量保证书
2015/05/11 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
教师师德承诺书2016
2016/03/25 职场文书
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL