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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue 父组件调用子组件的方法_vue子组件修改父组件值

    vue 父组件调用子组件的方法_vue子组件修改父组件值我们都知道通过$ref可以获取到某个DOM,但是它也可以用来获取子组件的实例,调用子组件的方法例:子组件:<template><div></div></template><script>exportdefault{methods:{c

    2022年10月2日
    0
  • HDU 1085-Holding Bin-Laden Captive!(生成功能)

    HDU 1085-Holding Bin-Laden Captive!(生成功能)

    2022年1月12日
    38
  • TCP拥塞控制机制(附面试题)

    TCP拥塞控制机制(附面试题)产生的原因∑对资源的需求>可用资源∑对资源的需求>可用资源\sum_{}^{}对资源的需求>可用资源注意单纯的增加网络资源无法解决问题例如:把结点的存储空间扩大,更换更高速率的链路,提高结点处理机的运算速度,不仅不能解决问题,而且可能使网络性能更坏。原因:网络拥塞是许多因素引起的,单纯的解决一个可能会使上述情况得到一些缓解,但是会把拥塞转移到其…

    2022年6月24日
    19
  • C# LDAP认证登录

    http://blog.csdn.net/lnas_01/article/details/43987259publicclassLDAPHelper{stringldapUrl="LDAP://***.***.48.110:389/dc=***,dc=com";stringldapUserName="cn=root,dc=***,dc=com";…

    2022年4月9日
    52
  • 茂名重力石化装备股份公司_恒力石化二期项目批复

    茂名重力石化装备股份公司_恒力石化二期项目批复目前来看,广东省已经拥有诸多国外化工巨头、大型民营炼化企业和不少国企的炼化项目,成为很多石化企业首选的项目落地基地。“石化业高质量发展看广东”,已经逐渐明朗。今年3月31日,广东省发展改革委官网公布《广东省2021年重点建设项目计划》。在2021年重点项目名单中,广东共安排省重点项目1395个,总投资达7.28万亿元,年度计划投资8000亿元。其中新开工项目有3个,总投资约267亿元,年度投资约60.5亿元,分别是恒力石化(惠州)PTA项目、东华能源(茂名)烷烃资源综合利用项目.

    2022年10月10日
    0
  • hive数据类型有哪些?[通俗易懂]

    hive数据类型有哪些?[通俗易懂] 关系数据库里有表(table),分区,hive里也有这些东西,这些东西在hive技术里称为hive的数据模型。今天本文介绍hive的数据类型,数据模型以及文件存储格式。这些知识大家可以类比关系数据库的相关知识。  首先我要讲讲hive的数据类型。Hive支持两种数据类型,一类叫原子数据类型,一类叫复杂数据类型。  原子数据类型包括数值型、布尔型和字符串类型,具体如下表所示:基本数据类型类型…

    2022年9月21日
    0

发表回复

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

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