哇!鬼一样的代码! 2022-05-30 17:19 采纳率: 100%
浏览 65
已结题

二维数组如何互换行或列?

python中numpy模块数组
给一个二维的数组,怎么互换它的行或者列?
样例:

[[1 2 3],
 [4 5 6],
 [7 8 9]]

互换1,2行

[[4 5 6],
[1 2 3],
 [7 8 9]]

或者是1,2列呢?
求帮助!

  • 写回答

3条回答 默认 最新

  • 小康2022 Python领域新星创作者 2022-05-30 17:42
    关注

    【有帮助请采纳】
    下面是切换行的

    a = array([[1,2,3],[4,5,6],[7,8,9]])
    
    #法一:数组的类方法copy
    a[1],a[2] = a[2],a[1].copy()
    
    #法二:数组的布尔切片
    a[1],a[2] = a[2],a[1][True]
    
    #法三:数组的特殊方法
    a[[1,2]] = a[[2,1]]
    
    #法四:引入deepcopy模块(不推荐)
    #引入新的模块过于麻烦,不方便
    
    #法五:转换成列表来操作(不推荐)
    #由于我们用数组计算的初心就是为了加快计算速度,但这个数组与列表之间的转化是很慢的,而且占用大量内存,极力不推荐!
    
    #a[1],a[2] = a[2],a[1][:]不可取!是错误的!
    

    切换列的就是用a.T转置后再用上面的方法后再转置回来
    【有帮助请采纳】

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月7日
  • 已采纳回答 5月30日
  • 创建了问题 5月30日