前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python矩阵转置方法大全

Python矩阵转置方法大全

作者头像
全栈程序员站长
发布2022-09-05 11:32:16
8550
发布2022-09-05 11:32:16
举报
文章被收录于专栏:全栈程序员必看

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

文章目录

矩阵转置

1、嵌套列表推导式

不会改变数据类型

代码语言:javascript
复制
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

数据类型可能改变

代码语言:javascript
复制
import numpy as np
ls_of_ls = [[1, 1], [2, 2]]
ndarray = np.transpose(ls_of_ls)
print(ndarray)

[[1 2] [1 2]]

代码语言:javascript
复制
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

数据类型可能改变

代码语言:javascript
复制
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矩阵转置方法大全
Python矩阵转置方法大全

4、zip

转置后变为元组

代码语言:javascript
复制
ls = [[1, 2], ['a', 'b']]
print(list(zip(*ls)))

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

降维

列表推导式

代码语言:javascript
复制
ls = [[0, 1, 2], [3, 4, 5]]
print([j for i in ls for j in i])

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

numpy

代码语言:javascript
复制
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))
代码语言:javascript
复制
[1 2 3 4 5 6]

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 矩阵转置
    • 1、嵌套列表推导式
      • 2、numpy
        • 3、pandas
          • 4、zip
          • 降维
            • 列表推导式
              • numpy
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档