Python矩阵转置方法大全

Python矩阵转置方法大全文章目录矩阵转置矩阵转置matric=[[2,2,8],[0,4,0]]transpose=[[matric[j][i]forjinrange(len(matric))]foriinrange(len(matric[0]))]print(transpose)[[2,0], [2,4], [8,0]]

大家好,又见面了,我是你们的朋友全栈君。

矩阵转置

1、嵌套列表推导式

不会改变数据类型

matric = [[2, 2, 8],
          [0, 4, 0]]
transpose = [[matric[j][i] for j in range(len(matric))] for i in range(len(matric[0]))]
print(transpose)

[[2, 0],
 [2, 4],
 [8, 0]]

2、numpy

数据类型可能改变

import numpy as np
ls_of_ls = [[1, 1], [2, 2]]
ndarray = np.transpose(ls_of_ls)
print(ndarray)

[[1 2]
 [1 2]]

import numpy as np
ls_of_ls = [['a', 'b'], [3, 4]]
matrix = np.matrix(ls_of_ls)
print(matrix.T)

[[‘a’ ‘3’]
 [‘b’ ‘4’]]

3、pandas

数据类型可能改变

import pandas as pd
ls_of_ls = [[2, 'a'], [4, 'b']]
df = pd.DataFrame(ls_of_ls, columns=['A', 'B'])
print(df)
df.info()
print()
print(df.T)  # df.transpose()
df.T.info()

Python矩阵转置方法大全

4、zip

转置后变为元组

ls = [[1, 2], ['a', 'b']]
print(list(zip(*ls)))

[(1, ‘a’),
 (2, ‘b’)]

降维

列表推导式

ls = [[0, 1, 2], [3, 4, 5]]
print([j for i in ls for j in i])

[0, 1, 2, 3, 4, 5]

numpy

import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.reshape(-1))  # 等价于:np.reshape(a, -1)
print()
print(a.reshape(-1, 1))  # 等价于:np.reshape(a, (-1, 1))
print()
print(a.reshape(3, 2))  # 等价于:np.reshape(a, (3, 2))
[1 2 3 4 5 6]

[[1]
 [2]
 [3]
 [4]
 [5]
 [6]]

[[1 2]
 [3 4]
 [5 6]]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136989.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IEC104规约流程

    IEC104规约流程该规约在DF8900中规约号为104,在DF8002或DF1800系统中规约号一般为99,但也有个别现场因实际情况而不同.97版或2002版IEC104在流程上没有什么变化,只是扩展了遥测遥信等信息体基地址..索引项目部分报文字节个数参数地址范围流程常用类型标识

    2022年6月20日
    47
  • tcping在linux用法,tcping的安装和使用[通俗易懂]

    tcping在linux用法,tcping的安装和使用[通俗易懂]Tcping网上比较少资料是关于linux对tcp端口ping测试的方法,我这里简单介绍2种方法:1.yum安装,编译安装方法1-1.wgethttp://linuxco.de/tcping/tcping-1.3.5.tar.gz###下载tcping1-2tarzxvftcping-1.3.5.tar.gz####解压缩tcping-1.3.51-3cdtcping-1….

    2022年6月23日
    105
  • java项目视频

    java项目视频java版qq:http://pan.baidu.com/s/1orpxsssh智慧团:http://pan.baidu.com/s/1cLU4m巴巴运动网项目:http://pan.baidu.com/s/15SiSW国家电力项目:http://pan.baidu.com/s/1Gb7KI(强烈推荐)银行业务调度系统:http://pan.baidu.com/s/1kn4Gq

    2022年10月3日
    2
  • 白嫖免费域名+免费服务器[通俗易懂]

    点击蓝字关注我们免费注册地址https://byet.host/不要翻墙是真的免费吗?byethost.com是一个老牌的免费空间商,从2006年起就开始提供免费空间了,其免费服务非常稳…

    2022年4月16日
    83
  • springboot从入门到实战(办公应用从入门到精通书籍)

    对于SpringBoot,很多人咨询了我的研究学习资料来源,除官方文档外,特例完整整理一下自己的平时参考学习其他资料,以及分享实战项目源码和代码资源,供大家参考学习主要教程一、我的SpringBoot系列教程(2020.3更新)我的SpringBoot系列进阶教程(Github仓库源码地址)基于springboot2.0.6.RELEASE版本的代码演示集合:SpringBo…

    2022年4月14日
    47
  • C#递归题目代码建议收藏

    一列数的规则如下:1、1、2、3、5、8、13、21、34……求第30位数是多少,用递归算法实现。代码:1publicclassMainClass23{45public

    2021年12月21日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号