说到转置操作,顺便提及矩阵与数组的区别:
矩阵:数学里的概念,其元素只能是数值,这也是区别于数组的根本所在
数组:计算机中的概念,代表一种数据组织、存储方式,其元素可以是数字、也可以是字符
数组的转置操作,是借鉴了线性代数中矩阵的转置操作。将行与列对调,即第一行变成第一列…..或第一列变成第一行…..的操作即使转置操作。
1. 多维数组的转置
import numpy as np test = np.array([[12,4,7,0],[3,7,45,81]]) test # 以下为test输出的结果 array([[12, 4, 7, 0], [ 3, 7, 45, 81]]) # 对test进行转置操作 test.transpose() # 转置后得到的结果为 array([[12, 3], [ 4, 7], [ 7, 45], [ 0, 81]])
2. 一维数组的转置
test = np.array([12,4,7,0]) test.shape # test.shape的结果 (4,) # 以下为test输出的结果 array([12, 4, 7, 0]) # 对test进行转置操作 result = test.transpose() # 转置后得到的结果为 array([12, 4, 7, 0]) test.shape # 一维数组(列向量)转置后的长度 (4,)
所以,对一维列向量进行转置,得到的还是一维列向量,并没有发生任何变化。经实践,这时候应借助shape属性来完成转置。详细见以下:
result.shape=(1,4) result # 这时输出result的值如下,对比与上面一个code框内的result值 array([[12, 4, 7, 0]])
这时候输出的result就是一个一行四列的一维数组了。
以上这篇numpy.transpose()实现数组的转置例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。