pandas(四十三)Pandas实现复杂Excel的转置合并

一、Pandas实现复杂Excel的转置合并

示例图片
  • 读取并筛选第一张表

    df1 = pd.read_excel("第一个表.xlsx")
    df1
    
    示例图片
    # 删除无用列
    df1 = df1[['股票代码', '高数', '实际2']].copy()
    df1
    
    示例图片
    df1.dtypes股票代码      int64
    高数      float64
    实际2       int64
    dtype: object
    
  • 读取并处理第二张表

    df2 = pd.read_excel("第二个表.xlsx")
    df2
    
    示例图片
    # 将 Unnamed: 0 指定为索引列
    df2.set_index('Unnamed: 0', inplace=True)
    df2
    
    示例图片
    # 主要用到transpose做横竖转换,方便处理
    df2 = df2.transpose()
    df2
    
    示例图片
    df2.dtypesUnnamed: 0
    股票代码        object
    股票名称        object
    行业          object
    天数          object
    正负          object
    看好          object
    出手          object
    结果          object
    20210210    object
    20210209    object
    20210208    object
    20210205    object
    
    # 由于第一张表股票代码是数字,第二张表object 需要转换为number类型
    df2['股票代码'] = df2['股票代码'].astype(int)
    df2
    
  • 合并数据

    df_merge = pd.merge(left=df2, right=df1, left_on='股票代码', right_on='股票代码')
    df_merge
    
    示例图片
  • 重新队列排序

    # 重新队列排序(把list重新变成最终模样)
    columns = list(df_merge.columns)
    columns.remove('高数')
    columns.remove('实际2')
    columns.insert(columns.index("结果"), "高数")
    columns.insert(columns.index("结果"), "实际2")
    columns['股票代码','股票名称','行业','天数','正负','看好','出手','高数','实际2','结果','20210210','20210209','20210208','20210205',...]
    
  • 筛选列,专置数据、输出结果

    df_result = df_merge[columns].transpose()
    df_result.to_excel("表一表二合并结果.xlsx", header=False)
    

三、其它

import pandas as pd
import random# 学生数量
num_students = 100
# 列表包含所有的科目
subjects = ['语文', '英语', '数序', '自然', '社会', '几何', '代数', '物理', '化学']
# 使用列表推导为每个科目生成随机分数
data = {subject: [random.randint(50, 100) for _ in range(num_students)] for subject in subjects}
# 为学生生成唯一的用户名
data['用户名'] = ['student'+str(i) for i in range(1, num_students+1)]
df = pd.DataFrame(data)
print(df)
# 获取当前的列顺序
cols = df.columns.tolist()# 移除'化学'并将其插入到'英语'后面
cols.remove('化学')
physical_index = cols.index('英语')
cols.insert(physical_index + 1, '化学')# 使用新的列顺序重新排序DataFrame
df = df[cols]print(df)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/100366.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

李宏毅-21-hw3:对11种食物进行分类-CNN

一、代码慢慢阅读理解总结内化: 1.关于torch.nn.covd2d()的参数含义、具体用法、功能: (1)参数含义: 注意,里面的“padding”参数:《both》side所以是上下左右《四》边都会加一个padding数量…

sqlserver数据库链接mysql服务器访问数据

sqlserver数据库链接mysql服务器访问数据 关于SqlServer数据库怎么链接mysql数据库我一直不明白,今天项目碰到一个问题需要链接,我就研究了一下,然后就成功了,在这里记录一下。也欢迎朋友互相学习交流借鉴。 1.使用navicat打开S…

使用Maven创建父子工程

📚目录 创建父工程创建子模块创建子模块示例创建认证模块(auth) 结束 创建父工程 选择空项目: 设置:项目名称,组件名称,版本号等 创建完成后的工程 因为我们需要设置这个工程为父工程所以不需要src下的所有文件 在pom…

学习笔记|计数器|Keil软件中 0xFD问题|I/O口配置|STC32G单片机视频开发教程(冲哥)|第十二集:计数器的作用和意义

文章目录 1.计数器的用途2.计数器的配置官方例程开始Tips:编译时提示错误FILE DOES NOT EXIST: 3.计数器的应用本例完整代码:总结课后练习: 1.计数器的用途 直流有刷的电机,后面两个一正一负的电接上,电机就可以转 到底是转子个…

Zoom正式发布类ChatGPT产品—AI Companion

9月6日,全球视频会议领导者Zoom在官网宣布,正式发布生成式AI助手——AI Companion。 AI Companion提供了与ChatGPT类似的功能,包括根据文本对话起草各种内容,自动生成会议摘要,自动回答会议相关问题等,以帮…

Redux中间件源码解析与实现

基本介绍 本文中涉及到的关键npm包的版本信息如下: react 的版本为18.2.0 redux的版本为4.1.2 redux-thunk版本为2.4.2 redux-promise版本为0.6.0 redux-logger版本为3.0.6 在Redux源码解析与实现(一)Redux源码解析与实现(二&…

【三维重建】【深度学习】【数据集】基于COLMAP制作个人Gen6D测试数据集

【三维重建】【深度学习】【数据集】基于COLMAP制作个人Gen6D测试数据集 提示:最近开始在【三维重建】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【三维重建】【深度学习】【数据集】基于COLMAP制作个人Gen6D测试数据集前言下载安装colmap软…

云备份——数据信息管理模块

一,数据信息管理模块设计 该模块主要用于服务端对备份的文件进行数据信息管理,以便于业务处理模块或者热点管理模随用随取,以及在网页上迅速的显示备份文件列表,因此该模块需要管理的信息也是根据后续业务处理模块以及热点管理模块…

变电站自动化监控系统

力安科技变电站自动化监控系统是以箱式变电站为管理对象,加装箱变网关,在完成箱变智能化改造的基础上,依托电易云,构建一体化智慧箱变及运维系统。智能箱式变电站被广泛应用于住宅小区、城市公用变压器、工厂、商场、机场、电站等…

服务器数据恢复-阵列崩溃导致LVM结构破坏的数据恢复案例

服务器数据恢复环境: 一台服务器中有两组分别由4块SAS硬盘组建的raid5阵列,两组阵列上层划分LUN组建LVM结构,并被格式化为EXT3文件系统。 服务器故障&检测: RIAD5阵列中有一块硬盘故障离线,热备盘激活上线顶替离线…

pdf怎么合并在一起?几种方法快速合并

pdf怎么合并在一起?在处理PDF文件时,有时需要将多个PDF文件合并成一个文件。这种操作在日常学习、工作和生活中很常见。但是,如果没有专业的PDF工具,这项任务可能会变得非常繁琐、耗时和费力。因此,我们需要一款功能强…

运行Android Automotive模拟器

在windows系统中安装MobaXterm MobaXterm free Xserver and tabbed SSH client for Windows 运行MobaXterm,在宿主机中进入编译后的源码根目录并执行如下命令,若未编译,请参照如下链接,编译车机模拟器Android Automotive编译_IT…