Pandas实现复杂Excel的转置合并的示例代码

 更新时间:2025年11月25日 09:32:06   作者:风华浪浪  
本文介绍了使用Pandas库在Python中读取、筛选、合并Excel数据,包括复杂表格的转置操作和列名调整,及生成随机分数数据并重新排序DataFrame,感兴趣的可以了解一下

一、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.dtypes

Unnamed: 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)

到此这篇关于Pandas实现复杂Excel的转置合并的示例代码的文章就介绍到这了,更多相关Pandas 复杂Excel的转置合并内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 实例讲解Python设计模式编程之工厂方法模式的使用

    实例讲解Python设计模式编程之工厂方法模式的使用

    这篇文章主要介绍了Python设计模式编程之工厂方法模式的运用实例,文中也对Factory Method模式中涉及到的角色作出了解析,需要的朋友可以参考下
    2016-03-03
  • pandas如何读取mysql数据

    pandas如何读取mysql数据

    这篇文章主要介绍了pandas如何读取mysql数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python实现合并同一个文件夹下所有PDF文件的方法示例

    Python实现合并同一个文件夹下所有PDF文件的方法示例

    这篇文章主要介绍了Python实现合并同一个文件夹下所有PDF文件的方法,涉及Python针对pdf文件的读取、判断、解密、写入合并等相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • 详解Python中datetime库的使用

    详解Python中datetime库的使用

    这篇文章主要介绍了Python中datetime库的使用,它提供了一系列由简单到复杂的时间处理方法。datetime 库可以从系统中获得时间,并以用户选择的格式输出,需要的朋友可以参考下
    2023-04-04
  • Python操作Spark常用命令指南

    Python操作Spark常用命令指南

    Python操作Spark的常用命令指南,涵盖从环境配置到数据分析的核心操作,本文介绍了如何使用PySpark进行环境配置和核心操作,包括数据读写、处理与转换、聚合与高级分析,以及运行SQL查询和性能优化,感兴趣的朋友跟随小编一起看看吧
    2026-02-02
  • Python使用eval函数执行动态标表达式过程详解

    Python使用eval函数执行动态标表达式过程详解

    这篇文章主要介绍了Python使用eval函数执行动态标表达式过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • tensorflow中的梯度求解及梯度裁剪操作

    tensorflow中的梯度求解及梯度裁剪操作

    这篇文章主要介绍了tensorflow中的梯度求解及梯度裁剪操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python如何使用27行代码绘制星星图

    Python如何使用27行代码绘制星星图

    这篇文章主要介绍了Python如何使用27行代码绘制星星图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • python字典get()方法用法分析

    python字典get()方法用法分析

    这篇文章主要介绍了python字典get()方法用法,实例分析了使用get方法获取字典值的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • pygame播放音乐的方法

    pygame播放音乐的方法

    这篇文章主要介绍了pygame播放音乐的方法,以两个简单实例形式分析了pygame播放MP3音乐的实现方法,需要的朋友可以参考下
    2015-05-05

最新评论