0

0

Python如何进行批量数据合并处理_Pandas合并技巧详解【教学】

舞夢輝影

舞夢輝影

发布时间:2025-12-13 00:29:13

|

999人浏览过

|

来源于php中文网

原创

pandas批量数据合并核心是统一列名、对齐索引、选对方式:一、用glob自动读取多CSV再concat纵向堆叠;二、用merge按字段关联,注意on/how参数及ID类型一致;三、多表用reduce链式merge;四、合并前必查类型、去空格大小写、去重。

python如何进行批量数据合并处理_pandas合并技巧详解【教学】

用pandas做批量数据合并,核心就三点:统一列名、对齐索引、选对合并方式。别硬拼,先理清逻辑再写代码。

一、多个CSV文件自动读取并合并

常见场景是同一格式的多个表格(比如每月销售数据),存在一个文件夹里。不用一个个pd.read_csv,用glob+循环更省事:

  • glob.glob("data/month_*.csv")匹配所有目标文件路径
  • [pd.read_csv(f) for f in file_list]批量读取,生成DataFrame列表
  • pd.concat(df_list, ignore_index=True)纵向堆叠,red">ignore_index=True重置行号,避免重复索引

小技巧:如果各表字段顺序不一致,concat前可统一列顺序,比如df = df[["id", "name", "amount"]]

二、按字段精准合并(merge)不是简单拼接

两个表靠某个字段关联(如用户ID),要用pd.merge(),不是concat。关键参数要盯紧:

立即学习Python免费学习笔记(深入)”;

AIPAI
AIPAI

AI视频创作智能体

下载
  • on=指定共用列名;left_onright_on用于列名不同时分别指定
  • how=决定合并逻辑:"inner"(交集)、"left"(左表全保留)、"outer"(并集)
  • 合并后检查result.isna().sum(),看关键字段是否大量缺失——可能是ID类型不一致(str vs int)或空格/大小写问题

三、多表串联合并(reduce + merge)

三个及以上表按同一字段依次关联?别嵌套merge。用functools.reduce链式处理更清晰:

  • 把所有DataFrame放进列表:dfs = [df1, df2, df3]
  • 一行搞定:from functools import reduce; final = reduce(lambda left, right: pd.merge(left, right, on="key"), dfs)
  • 注意:所有表的"key"列数据类型和清洗状态必须一致,否则中间某次merge就中断

四、合并前必做的三件事

90%的合并报错或结果异常,其实出在前期准备上:

  • 查类型:用df.dtypes确认关联字段是不是同一类型(特别是数字ID被读成object)
  • 去空格和大小写:如df["name"] = df["name"].str.strip().str.lower()
  • 去重检查:用df.duplicated(subset=["key"]).sum()看关联键是否唯一,非唯一时merge会爆炸性扩行

基本上就这些。不复杂但容易忽略细节,动手前花两分钟检查字段和类型,比报错后再调试快得多。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

68

2025.12.04

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

310

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

222

2025.10.31

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

463

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

544

2024.08.29

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

113

2025.08.29

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

200

2025.08.29

lambda表达式
lambda表达式

Lambda表达式是一种匿名函数的简洁表示方式,它可以在需要函数作为参数的地方使用,并提供了一种更简洁、更灵活的编码方式,其语法为“lambda 参数列表: 表达式”,参数列表是函数的参数,可以包含一个或多个参数,用逗号分隔,表达式是函数的执行体,用于定义函数的具体操作。本专题为大家提供lambda表达式相关的文章、下载、课程内容,供大家免费下载体验。

208

2023.09.15

C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 3.7万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号