numpy array或matrix的交换两行
Posted chen狗蛋儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy array或matrix的交换两行相关的知识,希望对你有一定的参考价值。
A[j,:] = A[maxindex,:] # 注意这样是一个很低级的错误!这样只是赋值
我们很容易想起python中的两个值交换一句搞定不用引入中间变量
a, b = b, a
但在numpy的array或matrix中,这样是错误的
需要使用选中两行来互换:
A[[i, j], :] = A[[j, i], :] # 实现了第i行与第j行的互换
下面看一个实例:
import numpy as np m = np.mat([[1. ,2 ,-1],[2,1,-2],[-3,1,1]]) print("A=",A) A[[0,2],:] = A[[2,0],:] print("A=",A) # ------------------------- A= [[ 1. 2. -1.] [ 2. 1. -2.] [-3. 1. 1.]] A= [[-3. 1. 1.] [ 2. 1. -2.] [ 1. 2. -1.]]
以上是关于numpy array或matrix的交换两行的主要内容,如果未能解决你的问题,请参考以下文章
numpy np.array 与 np.matrix (性能)
Numpy Python 中的哪个对象适合矩阵操作? numpy.array 还是 numpy.matrix? [复制]