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之画圈还不简单吗?
Sep 20 Python
python正则表达式中的括号匹配问题
Dec 14 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
Dec 14 Python
Python异常对代码运行性能的影响实例解析
Feb 08 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
Apr 23 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
Python将列表中的元素转化为数字并排序的示例
Dec 25 Python
python 使用csv模块读写csv格式文件的示例
Dec 02 Python
利用python+request通过接口实现人员通行记录上传功能
Jan 13 Python
Python实现提取PDF简历信息并存入Excel
Apr 02 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 output buffering缓存及程序缓存深入解析
2013/07/15 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
微信小程序 wxapp内容组件 text详细介绍
2016/10/31 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
手把手教你如何安装Pycharm(详细图文教程)
2018/11/28 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
基于Python的PIL库学习详解
2019/05/10 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
Python 创建TCP服务器的方法
2020/07/28 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
使用Django的JsonResponse返回数据的实现
2021/01/15 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
浅谈HTML5 & CSS3的新交互特性
2016/07/19 HTML / CSS
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
软件设计的目标是什么
2016/12/04 面试题
外语系大学生自荐信范文
2014/03/01 职场文书
医院领导班子整改方案
2014/10/01 职场文书
Go语言 详解net的tcp服务
2022/04/14 Golang