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 实现交换两行和两列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • pyqt6实现关闭窗口前弹出确认框的示例代码

    pyqt6实现关闭窗口前弹出确认框的示例代码

    本文主要介绍了pyqt6实现关闭窗口前弹出确认框的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • python使用建议技巧分享(三)

    python使用建议技巧分享(三)

    这篇文章主要介绍了python的一些使用建议技巧分享,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-08-08
  • Python初学者需要注意的事项小结(python2与python3)

    Python初学者需要注意的事项小结(python2与python3)

    这篇文章主要介绍了Python初学者需要注意的事项小结,包括了python2与python3的一些区别,需要的朋友可以参考下
    2018-09-09
  • Python信息抽取之乱码解决办法

    Python信息抽取之乱码解决办法

    这篇文章主要介绍了Python信息抽取之乱码解决办法的相关资料,需要的朋友可以参考下
    2017-06-06
  • Django学习笔记之Class-Based-View

    Django学习笔记之Class-Based-View

    下面这篇文章主要介绍了Class-based View,为什么要有这个Class-based View呢?view不都是一个方法吗?跟类有啥关系?其实答案很明显,用类其实是为了抽象,抽象出通用的,将可变的暴露出来,这样我们就可以用最少的代码实现复杂的功能了。下面来看看详细的介绍吧。
    2017-02-02
  • 关于python的缩进规则的知识点详解

    关于python的缩进规则的知识点详解

    在本篇文章里小编给大家整理了关于python的缩进规则的知识点详解,有兴趣的朋友们可以学习下。
    2020-06-06
  • Python中强大的函数map filter reduce使用详解

    Python中强大的函数map filter reduce使用详解

    Python是一门功能丰富的编程语言,提供了许多内置函数,以简化各种编程任务,在Python中,map(),filter()和reduce()是一组非常有用的函数,它们允许对可迭代对象进行操作,从而实现数据转换、筛选和累积等操作,本文将详细介绍这三个函数,包括它们的基本用法和示例代码
    2023-11-11
  • Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的

    Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的

    这篇文章主要介绍了Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python读取CSV文件的4种方法与注意事项

    Python读取CSV文件的4种方法与注意事项

    在python里面,读取或写入csv文件时是经常遇到的一个需求,这篇文章主要给大家介绍了关于Python读取CSV文件的4种方法与注意事项,需要的朋友可以参考下
    2023-10-10
  • python 使用OpenCV进行简单的人像分割与合成

    python 使用OpenCV进行简单的人像分割与合成

    这篇文章主要介绍了python 使用OpenCV进行简单的人像分割与合成的方法,帮助大家更好的利用python处理图像,感兴趣的朋友可以了解下
    2021-02-02

最新评论