pandas处理两表合并

2024-06-05 11:20
文章标签 处理 合并 pandas 两表

本文主要是介绍pandas处理两表合并,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用pandas库来处理两个Excel文件,并根据“货号”列中的数字部分合并这两个文件的数据。以下是对这段代码的详细介绍:

  1. 导入必要的库

    • import pandas as pd: 导入pandas库,并给它起一个别名pd。
  2. 读取Excel文件

    • 定义了两个文件路径file_path1file_path2,分别指向两个Excel文件。
    • 使用pd.read_excel()函数读取这两个文件,并将数据加载到两个数据框df1df2中。
  3. 定义提取数字的函数

    • 定义了一个名为extract_numbers的函数,它接受一个字符串s作为输入。
    • 函数内部使用filter()函数和str.isdigit方法来提取字符串中的所有数字,并使用''.join()将它们连接成一个新的字符串。
  4. 处理“货号”列

    • 感觉最容易忽略的就是数据类型的转换,将df1df2中的“货号”列转换为字符串类型(以防万一它们原本是数字或其他类型)。
    • 使用apply()方法和之前定义的extract_numbers函数来处理这两个数据框的“货号”列,提取其中的数字部分。
  5. 合并数据框

    • 使用pd.merge()函数根据处理后的“货号”列合并df1df2
    • on='货号'指定了合并的键。
    • how='right'表示进行右连接合并,即保留df2中的所有行,并根据匹配的“货号”将df1中的数据添加到合并后的数据框中。如果需要保留df1中的所有行,则可以使用how='left'
  6. 查看和保存合并后的数据

    • 使用print(merged_df.head())打印合并后数据框的前几行,以便查看合并结果。
    • 使用merged_df.to_excel()方法将合并后的数据框保存到一个新的Excel文件中。index=False参数表示不将索引保存到Excel文件中。
    • 最后,打印一条消息确认合并和保存操作已完成。
import pandas as pd  # 读取Excel文件  
file_path1 = r'C:\Users\admin\Desktop\施华洛世奇531.xlsx'  
file_path2 = r'C:\Users\admin\Desktop\s519.xlsx'  
df1 = pd.read_excel(file_path1)  
df2 = pd.read_excel(file_path2)  # 定义一个函数来提取字符串中的数字部分  
def extract_numbers(s):  return ''.join(filter(str.isdigit, s))  # 应用这个函数到两个数据框的“货号”列,并创建新的列来保存提取的数字  
df1['货号'] = df1['货号'].astype(str).apply(extract_numbers)  
df2['货号'] = df2['货号'].astype(str).apply(extract_numbers)  # 基于新的数字货号列合并df1和df2  
merged_df = pd.merge(df1, df2, on='货号', how='right')  # 或者使用 how='left' 根据需要调整  # 查看合并后的数据框  
print(merged_df.head())  # 保存合并后的数据到新的Excel文件  
output_file_path = r'C:\Users\admin\Desktop\s531.xlsx'  
merged_df.to_excel(output_file_path, index=False)  # 不保存索引到Excel文件中  
print("合并完成并保存到Excel文件。")

这篇关于pandas处理两表合并的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032912

相关文章

Python Pandas高效处理Excel数据完整指南

《PythonPandas高效处理Excel数据完整指南》在数据驱动的时代,Excel仍是大量企业存储核心数据的工具,Python的Pandas库凭借其向量化计算、内存优化和丰富的数据处理接口,成为... 目录一、环境搭建与数据读取1.1 基础环境配置1.2 数据高效载入技巧二、数据清洗核心战术2.1 缺失

SpringBoot项目中Redis存储Session对象序列化处理

《SpringBoot项目中Redis存储Session对象序列化处理》在SpringBoot项目中使用Redis存储Session时,对象的序列化和反序列化是关键步骤,下面我们就来讲讲如何在Spri... 目录一、为什么需要序列化处理二、Spring Boot 集成 Redis 存储 Session2.1

利用Python实现Excel文件智能合并工具

《利用Python实现Excel文件智能合并工具》有时候,我们需要将多个Excel文件按照特定顺序合并成一个文件,这样可以更方便地进行后续的数据处理和分析,下面我们看看如何使用Python实现Exce... 目录运行结果为什么需要这个工具技术实现工具的核心功能代码解析使用示例工具优化与扩展有时候,我们需要将

Python处理超大规模数据的4大方法详解

《Python处理超大规模数据的4大方法详解》在数据的奇妙世界里,数据量就像滚雪球一样,越变越大,从最初的GB级别的小数据堆,逐渐演变成TB级别的数据大山,所以本文我们就来看看Python处理... 目录1. Mars:数据处理界的 “变形金刚”2. Dask:分布式计算的 “指挥家”3. CuPy:GPU

Python中CSV文件处理全攻略

《Python中CSV文件处理全攻略》在数据处理和存储领域,CSV格式凭借其简单高效的特性,成为了电子表格和数据库中常用的文件格式,Python的csv模块为操作CSV文件提供了强大的支持,本文将深入... 目录一、CSV 格式简介二、csv模块核心内容(一)模块函数(二)模块类(三)模块常量(四)模块异常

Python实现获取带合并单元格的表格数据

《Python实现获取带合并单元格的表格数据》由于在日常运维中经常出现一些合并单元格的表格,如果要获取数据比较麻烦,所以本文我们就来聊聊如何使用Python实现获取带合并单元格的表格数据吧... 由于在日常运维中经常出现一些合并单元格的表格,如果要获取数据比较麻烦,现将将封装成类,并通过调用list_exc

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

Pandas进行周期与时间戳转换的方法

《Pandas进行周期与时间戳转换的方法》本教程将深入讲解如何在pandas中使用to_period()和to_timestamp()方法,完成时间戳与周期之间的转换,并结合实际应用场景展示这些方法的... 目录to_period() 时间戳转周期基本操作应用示例to_timestamp() 周期转时间戳基

Spring Boot Controller处理HTTP请求体的方法

《SpringBootController处理HTTP请求体的方法》SpringBoot提供了强大的机制来处理不同Content-Type​的HTTP请求体,这主要依赖于HttpMessageCo... 目录一、核心机制:HttpMessageConverter​二、按Content-Type​处理详解1.

pandas DataFrame keys的使用小结

《pandasDataFramekeys的使用小结》pandas.DataFrame.keys()方法返回DataFrame的列名,类似于字典的键,本文主要介绍了pandasDataFrameke... 目录Pandas2.2 DataFrameIndexing, iterationpandas.DataF