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 MD5文件生成码
Jan 12 Python
python在多玩图片上下载妹子图的实现代码
Aug 13 Python
python发布模块的步骤分享
Feb 21 Python
Python中type的构造函数参数含义说明
Jun 21 Python
用Python写冒泡排序代码
Apr 12 Python
python异常和文件处理机制详解
Jul 19 Python
Django自定义分页效果
Jun 27 Python
Django admin美化插件suit使用示例
Dec 12 Python
关于django 数据库迁移(migrate)应该知道的一些事
May 27 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 Python
谈谈python垃圾回收机制
Sep 27 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
jQuery 源码分析笔记
2011/05/25 PHP
PHP之APC缓存详细介绍 apc模块安装
2014/01/13 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
PHP速成大法
2015/01/30 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
php使用curl获取header检测开启GZip压缩的方法
2018/08/15 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
在模板页面的js使用办法
2010/04/01 Javascript
腾讯的ip接口 方便获取当前用户的ip地理位置
2010/11/25 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
基于Node.js + WebSocket打造即时聊天程序嗨聊
2016/11/29 Javascript
微信小程序开发探究
2016/12/27 Javascript
bootstrap侧边栏圆点导航
2017/01/11 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
[00:43]魔廷新尊——痛苦女王至宝捆绑包
2020/06/12 DOTA
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
python字符串的方法与操作大全
2018/01/30 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
Python基于Dlib的人脸识别系统的实现
2020/02/26 Python
浅谈对python中if、elif、else的误解
2020/08/20 Python
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
小学新学期寄语
2014/04/02 职场文书
纪念九一八事变演讲稿:牢记九一八,屈辱怎能忘
2014/09/14 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
试用期自我评价范文
2015/03/10 职场文书