Python Numpy 实现交换两行和两列的方法

 更新时间:2019年06月26日 09:49:34   作者:不会JAVA的运营不是好数分  
今天小编就为大家分享一篇Python Numpy 实现交换两行和两列的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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解析超大的json数据(GB级别)

    如何利用Python解析超大的json数据(GB级别)

    果不想从头开始创建数据格式来存储数据,JSON是一个不错的选择,下面这篇文章主要给大家介绍了关于如何利用Python解析超大的json数据(GB级别)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • Python WSGI的深入理解

    Python WSGI的深入理解

    这篇文章主要给大家介绍了关于Python WSGI的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • 使用python-cv2实现Harr+Adaboost人脸识别的示例

    使用python-cv2实现Harr+Adaboost人脸识别的示例

    这篇文章主要介绍了使用python-cv2实现Harr+Adaboost人脸识别的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 使用python进行雷电接口检测

    使用python进行雷电接口检测

    这篇文章主要为大家详细介绍了如何使用python进行雷电接口检测,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-01-01
  • Python实现视频画质增强的示例代码

    Python实现视频画质增强的示例代码

    这篇文章主要为大家详细介绍了如何利用Python语言实现对视频进行画质增强功能,文中的示例代码讲解详细,感兴趣的小伙伴可以尝试一下
    2022-04-04
  • Python使用random.shuffle()打乱列表顺序的方法

    Python使用random.shuffle()打乱列表顺序的方法

    今天小编就为大家分享一篇Python使用random.shuffle()打乱列表顺序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python字典的概念及常见应用实例详解

    Python字典的概念及常见应用实例详解

    这篇文章主要介绍了Python字典的概念及常见应用,结合实例形式详细的分析了Python字典的概念、原理、创建、常见操作函数与使用注意事项,需要的朋友可以参考下
    2019-10-10
  • Python实现绘制多角星实例

    Python实现绘制多角星实例

    这篇文章要给大家分享Python实现绘制多角星的实例,在具备一定的Python编程基础以后,我们可以结合for循环进行多角星的编写,只要简单的几次循环,即可以极大的解决重复编写相同代码方面的问题,下面小编将以三角星,五角星为例,进而引入如何绘制多角星,需要的朋友可以参考一下
    2021-11-11
  • 不要用强制方法杀掉python线程

    不要用强制方法杀掉python线程

    本文给大家分享的是走着的一些强制杀掉python线程经验教训,如果你使用强制手段干掉线程,那么很大几率出现意想不到的bug。 请记住一点,锁资源不会因为线程退出而释放锁资源 !
    2017-02-02
  • python脚本和网页有何区别

    python脚本和网页有何区别

    在本篇文章里小编给大家整理的是关于python脚本和网页的区别点总结,有兴趣的朋友们可以学习下。
    2020-07-07

最新评论