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.]]
时间: 2024-11-05 18:32:07

numpy array或matrix的交换两行的相关文章

python numpy array 与matrix 乘方

python numpy array 与matrix 乘方 编程语言 waitig 1年前 (2017-04-18) 1272℃ 百度已收录 0评论 数组array 的乘方(**为乘方运算符)是每个元素的乘方,而矩阵matrix的乘方遵循矩阵相乘,因此必须是方阵. 2*3的数组与矩阵 >>> from numpy import * >>> import operator >>> a = array([[1,2,3],[4,5,6]]) >>

numpy中的matrix和array

Preface 在相关聚类算法的实现过程中,用python语言实现,会经常出现array和matrix的混淆,这里做个总结. array数组 numpy中最基本(默认)的类型是array,他的相关操作都是按元素操作的即用作数值计算当中(按元素操作有+,-,,/,*等).相乘举例: from numpy import * >>> a=array([1,2]) >>> a array([1, 2]) >>> b=array([2,3]) >>&

Python与线性代数——Numpy中的matrix()和array()的区别

Numpy中matrix必须是2维的,但是 numpy中array可以是多维的(1D,2D,3D····ND).matrix是array的一个小的分支,包含于array.所以matrix 拥有array的所有特性. matrix() 和 array() 的区别,主要从以下方面说起: 矩阵生成方式不同 import numpy as np a1 = np.array([[1, 2], [3, 4]]) b1 = np.mat([[1, 2], [3, 4]]) a2 = np.array(([1,

python(44):array和matrix的运算

在NumPy中,array用于表示通用的N维数组,matrix则特定用于线性代数计算.array和matrix都可以用来表示矩阵,二者在进行乘法操作时,有一些不同之处. 使用array时,运算符 * 用于计算数量积(点乘),函数 dot() 用于计算矢量积(叉乘),例子如: import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) print 'a * b = \n', a * b print

python numpy array 的一些问题

1 将list转换成array 如果list的嵌套数组是不规整的,如 a = [[1,2], [3,4,5]] 则a = numpy.array(a)之后 a的type是ndarray,但是a中得元素a[i]都还是list 如果a = [[1,2], [3,4]] 则a = numpy.array(a)之后 a的type是ndarray,里面的元素a[i]也是ndarray 2 flatten函数 Python自身不带有flatten函数,numpy中array有flatten函数. 同1的一样

LeetCode[Array]: Spiral Matrix II

Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. For example, Given n = 3, You should return the following matrix: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 这个题目跟LeetCode[Array]: Spiral Matrix不同的是:这个题目并不

numpy.array

关于python中的二维数组,主要有list和numpy.array两种. 好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的. 我们主要讨论list和numpy.array的区别: 我们可以通过以下的代码看出二者的区别 1 >>import numpy as np 2 >>a=[[1,2,3],[4,5,6],[7,8,9]] 3 >>a 4 [[1,2,3],[4,5,6],[7,8,9]] 5 >

gensim与numpy array 互转

目的 将gensim输出的格式转化为numpy array格式,支持作为scikit-learn,tensorflow的输入 实施 使用nltk库的停用词和网上收集的资料整合成一份新的停用词表,用来过滤文档中的停用词,也去除了数字和特殊的标点符号,最后将所有字母转化为小写形式. 以下是原文: Subject: Re: Candida(yeast) Bloom, Fact or Fiction From: [email protected] (Pat Churchill) Organization

第四十篇 Numpy.array的基本操作——向量及矩阵的运算

No.1. Numpy.array相较于Python原生List的性能优势 No.2. 将向量或矩阵中的每个元素 + 1 No.2. 将向量或矩阵中的所有元素 - 1 No.3. 将向量或矩阵中的所有元素 * 2 No.4. 将向量或矩阵中的所有元素 / 2 或 // 2 No.5. 幂运算 No.6. 取余 No.7. 取绝对值 No.8. 三角函数 No.9. 取e的x方 No.10. 取任意数的x方 No.11. 取以e为底x的对数 No.12. 取以任意数为底x的对数 No.13. 矩阵