首页 > 其他分享 >要按照某个key(某一列),去匹配不同df下的其他这个key的其他信息,使用pandas的merge方法

要按照某个key(某一列),去匹配不同df下的其他这个key的其他信息,使用pandas的merge方法

时间:2024-09-22 18:01:46浏览次数:4  
标签:table2 xlsx table3 df merge key Model id

代码示例:
python
Copy code
import pandas as pd

读取表格

target_df = pd.read_excel('target_models.xlsx') # 总目标车型表
table2_df = pd.read_excel('table2.xlsx') # 包含 id 和 url 的表
table3_df = pd.read_excel('table3.xlsx') # 包含电池类型、驱动方式等信息的表

步骤1:根据Model名称匹配 table2 中的 id 和 url

merged_df = pd.merge(target_df, table2_df[['Model', 'id', 'url']], on='Model', how='left')

步骤2:通过id在 table3 中查找对应的电池类型、驱动方式等信息

final_df = pd.merge(merged_df, table3_df[['id', 'battery_type', 'drive_mode', 'owner_tested_energy_consumption', 'valid_sample_size']], on='id', how='left')

保存为新表格

final_df.to_excel('merged_final_table.xlsx', index=False)
解释:
数据读取:

target_models.xlsx 是总目标车型表,包含 BEV Model 的名称。
table2.xlsx 包含 Model, id, url 信息。
table3.xlsx 包含 id, battery_type, drive_mode, owner_tested_energy_consumption, valid_sample_size 信息。
步骤1:匹配 Model 和 id:

使用 pandas.merge() 根据 Model 列,将 id 和 url 从 table2 合并到 target_df 中,how='left' 确保在目标表中没有匹配的 Model 的话会填充为空值。
步骤2:根据 id 匹配信息:

再次使用 merge(),根据 id 列将 battery_type 等信息从 table3 合并进来,使用 how='left' 填充没有找到的 id 对应的数据为 NaN(空值)。
结果保存:

将最终合并后的表格保存为新的 Excel 文件 merged_final_table.xlsx。
结果:
合并后的表格将会包含:

Model 名称(来自目标表)
对应的 id, url(来自第二张表)
battery_type, drive_mode, owner_tested_energy_consumption, valid_sample_size(来自第三张表)
如果某个 Model 在表2或表3中没有对应的数据,则这些字段会自动填充为空值。

标签:table2,xlsx,table3,df,merge,key,Model,id
From: https://www.cnblogs.com/fancyu/p/18425607

相关文章

  • Cloudflare WARP+ 又能用了!2024年9月22日,新增MASQUE协议
    1.Windows用户1.1WARP+官网下载客户端WARP+官网:进入WARP+官网,下载对应客户端。 双击运行,完成安装。1.2新建mdm.xml文件在C:\ProgramData\Cloudflare目录下,新建文本文件:mdm.xml,复制以下内容进去,并保存<dict><key>warp_tunnel_protocol</key><string>masque......
  • Spire.PDF for .NET 10.9.0
    Spire.PDFfor.NETisaprofessionalPDFAPIappliedtocreating,writing,editing,handlingandreadingPDFfileswithoutanyexternaldependencieswithin.NET(C#,VB.NET,ASP.NET,.NETCore,.NET5.0,.NET6.0,.NET7.0,MonoAndroidandXamarin.iOS)......
  • 12.仿真篇——模拟机械臂URDF过程
    1.创建功能包catkin_create_pkgmarm_descriptionurdfxacro2.增加launch启动文件<launch><!--设置机器人模型路径参数--><paramname="robot_description"textfile="$(findmarm_description)/urdf/marm.urdf"/><!--运......
  • FastDFS配置文件tracker
    #valu:路径base_path=/home/michael/fdfs/base4trackermax_connections#func:最大连接数#valu:正整数值m一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎徽关注公zhong号:编程进阶路加入我们的的圈子(技术交流、学习资源、职......
  • git error: Your local changes to the following files would be overwritten by mer
    3ad1444d^..73e10933为远程分支新提交,ac-dev分支落后远程分支4bd1444d^..83e10922个提交。现对ac-dev分支进行了修改,打算将ac-dev分支同步到4bd1444d最新提交,并保留ac-dev分支落后时的修改;ac-dev落后修改后没有提交或将其隐藏,直接cherry-pick遇到以下错误。gitcherry-p......
  • js逆向实战之Bitcoin浏览器交易x-apikey参数加密逻辑
    声明:本篇文章仅用于知识分享实战网址:https://www.oklink.com/zh-hans/btc/tx-list分析过程访问网址,会触发一条数据包。看它的响应内容。就是我们想要获取的内容,找到数据了。可以先尝试直接去访问该url,看能否获取数据。importrequestsurl="https://www.oklink.com/a......
  • windows源码ReadFile函数的实现
    windows源码ReadFile函数的实现windows源码ReadFile函数的实现文章目录windows源码ReadFile函数的实现ReadFileReadFileBOOLWINAPIReadFile(HANDLEhFile,LPVOIDlpBuffer,DWORDnNumberOfBytesToRead,LPDWORDlpNumberOfBytesRead,L......
  • 【油猴脚本】00011 案例 Tampermonkey油猴脚本,动态渲染表格-实现页面动态-添加提取数
    前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • Web攻防之业务安全实战指南pdf版
    内容简介业务安全漏洞作为常见的Web安全漏洞,在各大漏洞平台时有报道,本书是一本从原理到案例分析,系统性地介绍这门技术的书籍。撰写团队具有10年大型网站业务安全测试经验,成员们对常见业务安全漏洞进行梳理,总结出了全面、详细的适用于电商、银行、金融、证券、保险、游戏......
  • Key Manager 安装
    KeyManager安装sudoapt-getinstalllibprocps-devcurllibcurl4-openssl-devgitclonehttps://github.com/FISCO-BCOS/key-manager.gitcdkey-manager&&mkdirbuild&&cdbuildcmake..#后面有两个.注意!!make#Theexecution:"key-manage......