Python 矩阵转置的几种方法小结
我就废话不多说了,直接上代码吧!
#Python的matrix转置 matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] def printmatrix(m): for ele in m: for i in ele: print("%2d" %i,end = " ") print() #1、利用元祖的特性进行转置 def transformMatrix(m): #此处巧妙的先按照传递的元祖m的列数,生成了r的行数 r = [[] for i in m[0]] for ele in m: for i in range(len(ele)): #【重点】:此处利用m的第ele行i列,并将该值追加到r的i行上;巧妙的利用了i r[i].append(ele[i]) #printmatrix(r)#方便查看数组是怎么赋值的,如不需要可注释掉 #print("*"*20)#打印分隔符 return r #2、利用zip函数生成转置矩阵 def transformMatrix1(m): return zip(*m) #3、利用numpy模块的transpose方法 def transformMatrix2(m): import numpy return numpy.transpose(m).tolist() print("第一种方法结果展示") printmatrix(transformMatrix(matrix)) print("第二种方法结果展示") printmatrix(transformMatrix1(matrix)) print("第二种方法的简洁代码展示") printmatrix(zip(*matrix))#为了代码更简洁,可以不用transformMatrix1函数,直接打印 print("第三种方法的结果展示") printmatrix(transformMatrix2(matrix))
以上这篇Python 矩阵转置的几种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
python 实现矩阵上下/左右翻转,转置的示例
python中没有二维数组,用一个元素为list的list(matrix)保存矩阵,row为行数,col为列数 1. 上下翻转:只需要把每一行的list交换即可 for i in range(row // 2): matrix[i], matrix[row-1-i] = matrix[row-1-i], matrix[i] 2. 左右翻转:需要逐个交换元素 for m in matrix: for j in range(col // 2): m[j], m[col-1-j] = m[col-1-
-
Python 使用Numpy对矩阵进行转置的方法
如下所示: matrix.py #!/usr/bin/python # -*- encoding:UTF-8-*- import pprint import numpy as np matrix = [[1,2],[3,4],[5,6]] print('列表:') pprint.pprint(matrix) matrix_2 = np.matrix(matrix) print('原矩阵:') pprint.pprint(matrix_2) matrix_transpose = np.transp
-
numpy.transpose()实现数组的转置例子
说到转置操作,顺便提及矩阵与数组的区别: 矩阵:数学里的概念,其元素只能是数值,这也是区别于数组的根本所在 数组:计算机中的概念,代表一种数据组织.存储方式,其元素可以是数字.也可以是字符 数组的转置操作,是借鉴了线性代数中矩阵的转置操作.将行与列对调,即第一行变成第一列-..或第一列变成第一行-..的操作即使转置操作. 1. 多维数组的转置 import numpy as np test = np.array([[12,4,7,0],[3,7,45,81]]) test # 以下为test输出
-
Python:二维列表下标互换方式(矩阵转置)
我就废话不多说了,直接上代码吧! #!/usr/bin/env python # coding:UTF-8 """ @version: python3.x @author:曹新健 @contact: 617349013@qq.com @software: PyCharm @file: 二维列表下标互换(矩阵转置).py @time: 2018/12/30 10:24 """ ''' 矩阵转置 将[[1,2,3],[4,5,6],[7,8,9]]
-
python对矩阵进行转置的2种处理方法
方法一 :使用常规的思路 def transpose(M): # 初始化转置后的矩阵 result = [] # 获取转置前的行和列 row, col = shape(M) # 先对列进行循环 for i in range(col): # 外层循环的容器 item = [] # 在列循环的内部进行行的循环 for index in range(row): item.append(M[index][i]) result.append(item) return result 思路:矩阵的转置就是从行
-
Python 矩阵转置的几种方法小结
我就废话不多说了,直接上代码吧! #Python的matrix转置 matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] def printmatrix(m): for ele in m: for i in ele: print("%2d" %i,end = " ") print() #1.利用元祖的特性进行转置 def transformMatrix(m): #此处巧妙的先按照传递的元祖m的列数,生成了r的行数 r = [[] f
-
Python实现矩阵相乘的三种方法小结
问题描述 分别实现矩阵相乘的3种算法,比较三种算法在矩阵大小分别为22∗2222∗22, 23∗2323∗23, 24∗2424∗24, 25∗2525∗25, 26∗2626∗26, 27∗2727∗27, 28∗2828∗28, 29∗2929∗29时的运行时间与MATLAB自带的矩阵相乘的运行时间,绘制时间对比图. 解题方法 本文采用了以下方法进行求值:矩阵计算法.定义法.分治法和Strassen方法.这里我们使用Matlab以及Python对这个问题进行处理,比较两种语言在一样的条件下,
-
python求绝对值的三种方法小结
如下所示: 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs abs() 与fabs()的区别 abs()是一个内置函数,而fabs()在math模块中定义的. fabs()函数只适用于float和integer类型,而abs()也适用于复数. abs()返回是float和int类型,math.fabs()返回是float类型 以上这篇python求绝对值的三种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
python 字典访问的三种方法小结
定义字典 dic = {'a':"hello",'b':"how",'c':"you"} 方法一: for key in dic: print key,dic[key] print key + str(dic[key]) 结果: a hello ahello c you cyou b how bhow 细节: print key,dic[key],后面有个逗号,自动生成一个空格 print key + str(dic[key]),连接两个字符串,
-
Python中处理时间的几种方法小结
从一个字符串开始 在CODE上查看代码片派生到我的代码片 >>>time_str='2008-08-08 08:08:08' 1.1.转换为struct_time形式的时间 在CODE上查看代码片派生到我的代码片 >>struct = ime.strptime(time_str,'%Y-%m-%d %H:%M:%S') time.struct_time(tm_year=2008, tm_mon=8, tm_mday=8, tm_hour=8, tm_min=8, tm_
-
Python 循环终止语句的三种方法小结
在Python循环终止语句有三种: 1.break break用于退出本层循环 示例如下: while True: print "123" break print "456" 2.continue continue为退出本次循环,继续下次循环 示例如下: while True: print "123" continue print "456" 3.自定义标记 Tag 自已定义一个标记为True或False 示例代码: Tag
-
Python实现平行坐标图的两种方法小结
平行坐标图,一种数据可视化的方式.以多个垂直平行的坐标轴表示多个维度,以维度上的刻度表示在该属性上对应值,相连而得的一个折线表示一个样本,以不同颜色区分类别. 但是很可惜,才疏学浅,没办法在Python里实现不同颜色来区分不同的类别.如果对此比较在意的大神可以不要往下看了......... 上图是一个基于iris数据集所画的一个平行坐标图. 隔开隔开.......................................隔开隔开 不多扯了,下面正式上代码 方法一.基于pyecharts第三
-
Python 获取windows桌面路径的5种方法小结
这里介绍了5中python获取window桌面路径的方法,获取这个路径有什么用呢?一般是将程序生成的文档输出到桌面便于查看编辑. 前两个方法是通过注册表来获取当前windows桌面绝对路径,比较推荐使用第一个,因为不需要安装额外的扩展,其他的可以了解下 1.用内置的winreg(推荐) import _winreg def get_desktop(): key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r'Software\Microsoft\Win
-
python训练数据时打乱训练数据与标签的两种方法小结
如下所示: <code class="language-python">import numpy as np data = np.array([[1,1],[2,2],[3,3],[4,4],[5,5]]) y = np.array([1,2,3,4,5]) print '-------第1种方法:通过打乱索引从而打乱数据,好处是1:数据量很大时能够节约内存,2每次都不一样----------' data = np.array([[1,1],[2,2],[3,3],[4,4
-
python 字典中取值的两种方法小结
如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name']) print a.get('name'),type(a.get('name')) 发现这两个结果完全一致,并没有任何的差异. 怎么选择这两个不同的字典取值方式呢? 如果字典已知,我们可以任选一个,而当我们不确定字典中是否存在某个键时,我之前的做法如下 if 'age' in a.keys(): print a['age'] 因为不先
随机推荐
- 解析离线安装Eclipse的Android ADT开发插件的具体操作(图文)
- Dojo获取下拉框的文本和值实例代码
- java线程池:获取运行线程数并控制线程启动速度的方法
- windows与linux 路径正则写法
- PHP动态页生成静态页的3种常用方法
- Android App界面的ListView布局实战演练
- Vue Transition实现类原生组件跳转过渡动画的示例
- Jquery iframe内部出滚动条
- 用ADSL免代理共享上网
- IOS入门笔记之地理位置定位系统
- 设计模式之中介者模式_动力节点Java学院整理
- JS平滑无缝滚动效果的实现代码
- PHP4实际应用经验篇(2)
- PHP脚本监控Nginx 502错误并自动重启php-fpm
- 详解Android全局异常的捕获处理
- Android应用创建多个快捷方式
- asp中使用MSXML2.DOMDocument处理XML数据时的注意事项
- python中的迭代和可迭代对象代码示例
- Python使用matplotlib实现绘制自定义图形功能示例
- JavaScript正则表达式函数总结(常用)