您的位置:首页 > 编程语言 > Python开发

numpy.ndarray 交换多维数组(矩阵)的行/列

2016-06-22 22:30 453 查看
>> import numpy as np
>> P = np.eye(3)
>> P
array([[ 1.,  0.,  0.],
[ 0.,  1.,  0.],
[ 0.,  0.,  1.]])


交换第 0 行和第 2 行:

>> P[[0, 2], :] = P[[2, 0], :]
# P[(0, 2), :] = P[(2, 0), :]
>> P
array([[ 0.,  0.,  1.],
[ 0.,  1.,  0.],
[ 1.,  0.,  0.]])


再交换第一列和第三列:

>> P[:, [0, 2]] = P[:, [2, 0]]
>> P
array([[ 1.,  0.,  0.],
[ 0.,  1.,  0.],
[ 0.,  0.,  1.]])


注意以下是错误的做法:

>> P[0, :], P[2, :] = P[2, :], P[0, :]
>> P
array([[ 0.,  0.,  1.],
[ 0.,  1.,  0.],
[ 0.,  0.,  1.]])

# 不尽写出来啰嗦,而且代表的意义也不是交换
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: