Python 如何交换矩阵的列,numpy
您需要按衰减值对列进行排序对角线元素的, 0.884>0.749>0.640, 这是交换1和3列Python 如何交换矩阵的列,numpy,python,arrays,numpy,Python,Arrays,Numpy,您需要按衰减值对列进行排序对角线元素的, 0.884>0.749>0.640, 这是交换1和3列 numpy.array( [ [ 0.640 -0.655 0.399] [ 0.617 0.749 0.239] [-0.456 0.093 0.884] ] 要接收结果,请执行以下操作: numpy.array( [ [ 0.399 -0.655 0.640] [ 0.23
numpy.array(
[
[ 0.640 -0.655 0.399]
[ 0.617 0.749 0.239]
[-0.456 0.093 0.884]
]
要接收结果,请执行以下操作:
numpy.array(
[
[ 0.399 -0.655 0.640]
[ 0.239 0.749 0.617]
[-0.884 0.093 -0.456]
]
我想这就是你想要的:
>>> a
array([[ 0.64 , -0.655, 0.399],
[ 0.617, 0.749, 0.239],
[-0.456, 0.093, 0.884]])
>>> a[:, np.argsort(a.diagonal() * -1)]
array([[ 0.399, -0.655, 0.64 ],
[ 0.239, 0.749, 0.617],
[ 0.884, 0.093, -0.456]])
我想这就是你想要的:
>>> a
array([[ 0.64 , -0.655, 0.399],
[ 0.617, 0.749, 0.239],
[-0.456, 0.093, 0.884]])
>>> a[:, np.argsort(a.diagonal() * -1)]
array([[ 0.399, -0.655, 0.64 ],
[ 0.239, 0.749, 0.617],
[ 0.884, 0.093, -0.456]])
我想这就是你想要的:
>>> a
array([[ 0.64 , -0.655, 0.399],
[ 0.617, 0.749, 0.239],
[-0.456, 0.093, 0.884]])
>>> a[:, np.argsort(a.diagonal() * -1)]
array([[ 0.399, -0.655, 0.64 ],
[ 0.239, 0.749, 0.617],
[ 0.884, 0.093, -0.456]])
我想这就是你想要的:
>>> a
array([[ 0.64 , -0.655, 0.399],
[ 0.617, 0.749, 0.239],
[-0.456, 0.093, 0.884]])
>>> a[:, np.argsort(a.diagonal() * -1)]
array([[ 0.399, -0.655, 0.64 ],
[ 0.239, 0.749, 0.617],
[ 0.884, 0.093, -0.456]])
您可以使用高级:
您可以使用高级:
您可以使用高级:
您可以使用高级:
我会:
a[: , numpy.argsort(a.diagonal())[::-1] ]
使用a.diagonal
以相反顺序获取对角线值[::-1]
获取列的新顺序numpy.argsort
- 我会:
a[: , numpy.argsort(a.diagonal())[::-1] ]
使用a.diagonal
以相反顺序获取对角线值[::-1]
获取列的新顺序numpy.argsort
- 我会:
a[: , numpy.argsort(a.diagonal())[::-1] ]
使用a.diagonal
以相反顺序获取对角线值[::-1]
获取列的新顺序numpy.argsort
- 我会:
a[: , numpy.argsort(a.diagonal())[::-1] ]
使用a.diagonal
以相反顺序获取对角线值[::-1]
获取列的新顺序numpy.argsort