python中numpy模块数组
给一个二维的数组,怎么互换它的行或者列?
样例:
[[1 2 3],
[4 5 6],
[7 8 9]]
互换1,2行
[[4 5 6],
[1 2 3],
[7 8 9]]
或者是1,2列呢?
求帮助!
python中numpy模块数组
给一个二维的数组,怎么互换它的行或者列?
样例:
[[1 2 3],
[4 5 6],
[7 8 9]]
互换1,2行
[[4 5 6],
[1 2 3],
[7 8 9]]
或者是1,2列呢?
求帮助!
【有帮助请采纳】
下面是切换行的
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转置后再用上面的方法后再转置回来
【有帮助请采纳】