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]]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MySQL5.7版本sql_mode=only_full_group_by问题解决办法

    MySQL5.7版本sql_mode=only_full_group_by问题解决办法在服务器数据库查询使用了GROUPBY居然报出了1055-Expression#1ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggregatedcolumn’csc_risk.a.DefaultDate’whichisnotfunctionallydependentoncolumnsin…

  • Android实战——ShareSDk的使用,实现一键分享微信好友、朋友圈、QQ

    Android实战——ShareSDk的使用,实现一键分享微信好友、朋友圈、QQShareSDk的使用,实现一键分享微信好友、朋友圈、QQ事先说明:ShareSDK默认QQ可以分享,微信分享则需要在微信的开放平台上认证并申请应用填入对应信息即可微信认证和申请应用涉及到打包和签名APK,请大家自行查询相关资料进行操作关于ShareSDK的开发,参考ShareSDK官网为准欢迎关注CSDN博客:Hensen_的个人主

  • 哈希表基本概念介绍及哈希冲突的处理方法(附源码)

    哈希表基本概念介绍及哈希冲突的处理方法(附源码)工科生一枚,热衷于底层技术开发,有强烈的好奇心,感兴趣内容包括单片机,嵌入式Linux,Uboot等,欢迎学习交流!爱好跑步,打篮球,睡觉。欢迎加我QQ1500836631(备注CSDN),一起学习交流问题,分享各种学习资料,电子书籍,学习视频等。文章目录哈希表和哈希函数的概念哈希函数的构造直接定址法数字分析法平方取中法折叠法除留余数法(常用)随机数法哈希函数的选择处理冲突的方法开放定址法再哈希法链地址法建立一个公共溢出区代码实现哈希表和哈希函数的概念  哈希表(散列表),是根据关键码值(Ke.

  • linux ioctl函数详解,ioctl函数详解「建议收藏」

    linux ioctl函数详解,ioctl函数详解「建议收藏」1.介绍Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的信息,所以,我们有必要了解一下ioctl函数的具体实现.2.相关结构体与相关函数#includeintioctl(intd,intrequest,….);参数:d-文件描述符,这里是对网络套…

    2022年10月18日
  • 大数据开发之Hadoop篇—-jps命令的剖析「建议收藏」

    我们在大数据的日常生产当中会经常使用到jps命令,如果问起很多人他们都会知道jps命令是用来干什么的,查看java相关的进程。但是这个命令是属于哪个组件提供的呢?最起码可以肯定不是linux系统自带的。jps是属于jdk自带的命令,当你机器安装了jdk同时将jdk配置到系统的环境变量当中后,在命令行输入jps就可以查看当前的java进程了。当我们使用hadoop这个用户开启了三个java进…

  • 对服务器整体性能画像,2020年抖音用户画像报告:DAU超4亿,整体男女均衡「建议收藏」

    对服务器整体性能画像,2020年抖音用户画像报告:DAU超4亿,整体男女均衡「建议收藏」近日,巨量算数发布2020年抖音用户画像报告。报告中显示,抖音DAU超4亿,较去年同期的2.5亿,增长了60%。抖音与头条的重合度为32.1%,重合用户占抖音的42.2%。抖音与西瓜的重合度为24.6%,重合用户占抖音的29.5%。抖音10-19次占比领先,30分钟以上时长占比提高到38%。抖音整体人群画像,男女较均衡,19-30岁TGI高,新一线、三线及以下城市用户TGI…

发表回复

您的电子邮箱地址不会被公开。

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