Pandas 1.5.3 解析 Excel 数据实战:5 种常见数据清洗与转换场景代码示例

发布时间:2026/7/9 17:30:20

Pandas 1.5.3 解析 Excel 数据实战:5 种常见数据清洗与转换场景代码示例
Pandas 1.5.3 实战Excel 数据清洗与转换的 5 个高阶场景1. 缺失值处理的智能策略数据清洗中最常见的挑战莫过于缺失值处理。Pandas 1.5.3 提供了比以往更强大的工具链来处理这个难题。让我们从一个真实的销售数据集开始import pandas as pd sales_data pd.read_excel(sales_records.xlsx, engineopenpyxl) print(sales_data.isna().sum())缺失值诊断矩阵可以帮助我们快速定位问题列名缺失数量缺失比例数据类型customer_id122.3%int64product_name00%objectunit_price458.7%float64quantity71.4%int64对于不同场景我们有多种处理方案时间序列填充使用前后时间点的平均值sales_data[unit_price] sales_data[unit_price].interpolate(methodtime)分组填充按产品类别填充中位数sales_data[unit_price] sales_data.groupby(product_category)[unit_price]\ .transform(lambda x: x.fillna(x.median()))标记异常值创建新列标识填充记录sales_data[price_imputed] sales_data[unit_price].isna().astype(int) sales_data[unit_price] sales_data[unit_price].fillna(sales_data[unit_price].median())提示在金融领域建议保留原始缺失状态并创建新列存储填充值这对后续模型训练至关重要。2. 类型转换与内存优化Pandas 的数据类型系统远比表面看起来复杂。观察这个内存使用案例# 转换前内存使用 original_mem sales_data.memory_usage(deepTrue).sum() # 优化类型 sales_data[customer_id] pd.to_numeric(sales_data[customer_id], downcastinteger) sales_data[unit_price] pd.to_numeric(sales_data[unit_price], downcastfloat) sales_data[order_date] pd.to_datetime(sales_data[order_date]) # 转换后内存使用 optimized_mem sales_data.memory_usage(deepTrue).sum() print(f内存节省: {(original_mem - optimized_mem)/original_mem:.1%})分类数据的黄金法则基数小于总行数10% → 使用category类型高频字符串字段 → 优先考虑category参与数值计算的字段 → 保持数值类型# 智能类型转换函数 def auto_convert(df, col): if df[col].dtype object: if df[col].nunique() / len(df) 0.1: return df[col].astype(category) return df[col] for col in sales_data.columns: sales_data[col] auto_convert(sales_data, col)3. 多表合并的进阶技巧真实业务中我们常需要合并多个数据源。假设我们有销售记录表客户信息表产品目录表合并策略对比表合并类型适用场景代码示例内存消耗内连接只保留匹配记录pd.merge(sales, clients)低左连接保留所有左表记录pd.merge(sales, clients, howleft)中外连接保留所有记录pd.merge(sales, clients, howouter)高索引连接大数据集合并sales.join(clients.set_index(id), onclient_id)最低对于大型数据集可以使用merge的优化参数merged_data pd.merge( sales_data, client_info, onclient_id, validatemany_to_one, # 确保关系正确性 indicatorTrue, # 跟踪记录来源 suffixes(_sales, _client) )性能优化技巧合并前对连接键排序可提升30%速度使用pd.concat()代替merge处理相同结构的表大数据集考虑dask.dataframe4. 条件筛选的工程实践复杂条件筛选是业务分析的核心。Pandas 1.5.3 优化了布尔索引的性能# 基础筛选 q3_sales sales_data[ (sales_data[order_date].dt.quarter 3) (sales_data[region].isin([West, East])) (sales_data[quantity] 10) ] # 使用query方法更易读 high_value sales_data.query( unit_price 100 and loyalty_status Gold and product_category ! Clearance )动态条件构建技巧conditions [] if include_east_region: conditions.append(df[region] East) if min_price: conditions.append(df[unit_price] min_price) final_condition pd.concat(conditions, axis1).all(axis1) filtered_data sales_data[final_condition]对于时间序列数据可以使用between_time和at_time# 获取每天上午的交易 morning_sales sales_data.set_index(order_date)\ .between_time(09:00, 12:00)\ .reset_index()5. 分组聚合的深度应用分组聚合远不止groupby().sum()那么简单。看这个多维度分析案例# 多级分组与自定义聚合 results (sales_data .groupby([region, pd.Grouper(keyorder_date, freqM)]) .agg({ quantity: [sum, mean], unit_price: lambda x: (x * sales_data.loc[x.index, quantity]).sum(), client_id: pd.Series.nunique }) .rename(columns{ lambda: revenue, client_id: unique_clients }) )分组优化技巧使用pd.Grouper进行时间分组大数据集考虑methodhash参数避免在分组后立即计算使用.pipe()延迟执行透视表高级用法pivot pd.pivot_table( sales_data, valuesunit_price, index[region, sales_rep], columnspd.cut(sales_data[order_date].dt.month, bins[0,3,6,9,12]), aggfunc[mean, count], marginsTrue, fill_value0 )对于超大数据集可以使用eval()进行链式操作优化sales_data sales_data.eval( total unit_price * quantity discount_amount total * discount_rate / 100 net_value total - discount_amount )

相关新闻

上市公司创新困境数据集

上市公司创新困境数据集

2026/7/9 17:30:20

一、基础概况数据编号:2399时间跨度:2001—2025 年全 A 股公司年度平衡面板底层数据源:国家知识产权专利库 上市公司行业分类年报数据测算基准:连燕玲等(2023)创新期望落差范式、薛希萌等(2025…

L9958与PIC18F45K42电机控制方案解析

L9958与PIC18F45K42电机控制方案解析

2026/7/9 17:30:20

1. L9958与PIC18F45K42的黄金组合解析 在电机控制领域,STMicroelectronics的L9958驱动芯片与Microchip的PIC18F45K42微控制器堪称经典组合。L9958是一款多功能汽车级H桥驱动器,支持高达45V的工作电压和3A的持续输出电流,其内置的电荷泵和PWM控…

TensorFlow 2.16 / PyTorch 2.3 GPU环境验证:5行代码排查CUDA驱动与框架版本兼容性

TensorFlow 2.16 / PyTorch 2.3 GPU环境验证:5行代码排查CUDA驱动与框架版本兼容性

2026/7/9 17:20:20

TensorFlow 2.16与PyTorch 2.3 GPU环境深度验证指南:从版本兼容到自动化诊断当你在Jupyter Notebook中兴奋地输入torch.cuda.is_available(),却看到令人沮丧的False时,这种体验就像赛车手坐进驾驶舱却发现引擎无法启动。本文将带你超越简单的…

CLO服装软件安装步骤(附安装包)CLO Standalone 2025 超详细下载安装教程

CLO服装软件安装步骤(附安装包)CLO Standalone 2025 超详细下载安装教程

2026/7/9 18:50:23

文章目录 前言CLO Standalone 2025 下载地址CLO Standalone 2025 安装教程CLO Standalone 2025安装失败怎么办?常见报错解决方法 前言 CLO Standalone 2025 是服装行业中常用的三维设计工具之一,依托布料模拟算法在虚拟空间内完成设计、制版、试衣与走秀…

AI 工具链测评方法论:跑分不等于体验,体验要用量化指标拆解

AI 工具链测评方法论:跑分不等于体验,体验要用量化指标拆解

2026/7/9 18:50:23

AI 工具链测评方法论:跑分不等于体验,体验要用量化指标拆解 一、AI 工具测评的"跑分陷阱" AI 工具测评文章常见的形式是:选10个任务,每个任务给5个工具跑一遍,对比速度、准确率和价格。这种"跑分"…

3分钟学会:BetterNCM插件管理器终极安装指南

3分钟学会:BetterNCM插件管理器终极安装指南

2026/7/9 18:50:23

3分钟学会:BetterNCM插件管理器终极安装指南 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer BetterNCM插件管理器是一款专为Windows平台网易云音乐客户端设计的强大插件管理…

【Springboot毕设全套源码+文档】基于SpringBoot+vue招投标系统的设计与实现(丰富项目+远程调试+讲解+定制)

【Springboot毕设全套源码+文档】基于SpringBoot+vue招投标系统的设计与实现(丰富项目+远程调试+讲解+定制)

2026/7/9 18:50:23

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Unity RenderTexture与Shader打造高性能可擦写表面交互系统

Unity RenderTexture与Shader打造高性能可擦写表面交互系统

2026/7/9 18:50:23

1. 项目概述:当RenderTexture遇见可擦写表面在Unity里做交互效果,尤其是那种需要“留下痕迹”的交互,比如刮刮乐、白板涂鸦或者3D模型上的实时绘画,RenderTexture(渲染纹理)几乎是绕不开的核心技术。但很多…

Agent 智能体:从“一问一答“到“自主干活“的技术全解析

Agent 智能体:从“一问一答“到“自主干活“的技术全解析

2026/7/9 18:40:23

文章目录一、Agent 到底"智能"在哪?1.1 普通对话:一问一答,任务即终止1.2 Agent:持续运转的循环结构二、Agent 工作方式:ReAct 三步循环2.1 一个场景走通 ReAct三、Tool Use:Agent 的手和脚3.1 常…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/8 0:44:47

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/9 18:28:30

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/8 14:04:34

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

平价正宗重庆火锅实测|理性避坑选型指南

平价正宗重庆火锅实测|理性避坑选型指南

2026/7/9 0:09:12

一、引言:重庆火锅消费现存痛点当下大众平价川渝火锅赛道竞争白热化,普通消费者就餐普遍面临三大选型难题:一是口味同质化严重,大量门店采用预制锅底、半成品食材,打着重庆老火锅旗号弱化牛油本味,麻辣口感…

AcFunDown:打破A站视频离线观看壁垒的终极解决方案

AcFunDown:打破A站视频离线观看壁垒的终极解决方案

2026/7/9 0:09:12

AcFunDown:打破A站视频离线观看壁垒的终极解决方案 【免费下载链接】AcFunDown 包含PC端UI界面的A站 视频下载器。支持收藏夹、UP主视频批量下载 😳仅供交流学习使用喔 项目地址: https://gitcode.com/gh_mirrors/ac/AcFunDown 想象一下这样的场景…

【复现】面向新能源消纳能力评估的年负荷序列建模及场景生成方法(Matlab代码实现)

【复现】面向新能源消纳能力评估的年负荷序列建模及场景生成方法(Matlab代码实现)

2026/7/9 0:09:12

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…