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

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转置后再用上面的方法后再转置回来
【有帮助请采纳】

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

a.insert(2,a[0])
a.pop(0)
print(a)

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a[[1,0,2]])
# 结果
[[4 5 6]
 [1 2 3]
 [7 8 9]]

print(a[:,[1,0,2]])
#结果
[[2 1 3]
 [5 4 6]
 [8 7 9]]