Pandas生态:Data-Profiling、Pandera、PandasGUI、PyJanitor、PandaSQL
在Python开发者世界里Pandas的地位无可撼动围绕Pandas的生态库也非常多本文梳理总结其中的几个。Data-Profilingfg-data-profiling一个面向DataFrame的开源GitHub13.7K Star1.8K Fork探索性数据分析EDA工具导入时使用data_profiling。可将DataFrame自动整理一键生成包含概览、字段类型、缺失值、重复值、相关性、基础统计、告警和可导出的交互式HTML报告。对数据分析和数据治理来说标准化查看数据质量报告官方文档。命名历史最早包名是pandas-profiling最后一个版本停留在23年1月31日发布的3.6.6后来改名为ydata-profiling最后一个版本停留在26年4月23日发布的4.18.4最新命名是fg-data-profiling最后一个版本也是26年4月23日发布不过版本号是4.19.1特点一行画像传入DataFrame就能得到表级概览和字段级分析适合数据接手时快速摸底质量告警缺失值、重复值、偏斜、常量列等问题会被自动汇总减少人工漏看方便导出报告可以导出为HTML或JSON既能给人看也能接入自动化检查适合新数据集摸底、数据质量报告、Notebook分析、ETL前置检查、字段变化审计以及需要把分析结果导出给团队协作的场景。相比PandasGUI侧重交互式展示、Sweetviz适合对比数据集优势在于统计指标全面、自动生成警告非常适合快速了解陌生数据集。缺点处理10万行以上的大数据集时速度较慢。建议在数据清洗前先用它摸底针对警告列表里的问题逐一处理。不适合超大数据的实时分析也不适合替代完整的数据质量平台。画像报告很有帮助但最终的数据修复、业务规则和告警阈值仍然需要团队自己定义。实战基于pip安装pip install fg-data-profiling示例importpandasaspdfromdata_profilingimportProfileReport dfpd.DataFrame({city:[Paris,Paris,Berlin,Rome],sales:[10,None,30,30]})withcontextlib.redirect_stderr(io.StringIO()):profileProfileReport(df,titleSales profile,minimalTrue,progress_barFalse,correlationsNone)descprofile.description_set salesprofile.description_set.variables[sales]payloadjson.loads(profile.to_json())# 自带索引名n-行数、n_var-列数、n_cells_missing-缺失单元格数量print(rows:,int(desc.table[n]))print(sales missing:,int(sales[n_missing]))print(sales mean:,round(float(sales[mean]),2))print(sales max:,float(sales[max]))print(top-level:,list(payload.keys())[:5])print(table rows:,payload[table][n])print(variables:,list(payload[variables].keys()))示例2dfpd.read_csv(titanic.csv)profileProfileReport(df,titleTitanic数据探索报告)profile.to_file(report.html)print(df[Age].describe())# 手动检查相关性库会自动完成并标红警告corr_matrixdf.corr(numeric_onlyTrue)print(corr_matrix[Fare].sort_values(ascendingFalse))report.html文件即报告几大模块Variables自动识别每列的类型并给出统计结果数值列会有均值、分位数分类列则会展示频次分布Alerts自动标出数据中的问题如高缺失率、偏态分布或强相关性特征相关矩阵热力图能帮你快速发现共线性问题避免后续建模踩坑最佳实践对大表先抽样或使用最小配置避免报告生成过慢固定关键字段的类型、缺失率和唯一性阈值报告JSON入库时记录数据版本和生成时间Pandera官网专门处理表格数据校验的开源GitHub4.4K Star426 Fork工具如DataFrame把校验规则写成Schema让ETL、特征工程、批量报表生成、数据分析脚本或接口在入口处就能发现问题而不是等到下游模型或图表报出更难排查的错误官方文档。特点列级规则Column、Field和Check能直接表达类型、范围、空值和字符串约束批量错误lazyTrue可一次性收集多个失败点适合数据质量报告表级检查不仅看单列也能检查跨列、分组和整表统计约束列级Schema适合防守字段漂移表级校验适合防守统计异常两者一起用才能覆盖真实数据管道里的大部分事故。不适合单个JSON对象校验、强领域模型建模或对极致性能要求高且数据量巨大到无法承受额外校验的热路径。实战基于pip安装pip install pandera示例fromimportlib.metadataimportversionimportpandasaspdimportpandera.pandasaspafrompandera.typingimportSeriesclassSalesSchema(pa.DataFrameModel):sku:Series[str]pa.Field(str_startswithSKU-)qty:Series[int]pa.Field(ge1)price:Series[float]pa.Field(gt0)dfpd.DataFrame({sku:[SKU-1,SKU-2],qty:[2,5],price:[19.9,4.5]})validatedSalesSchema.validate(df)print(validated.assign(totalvalidated.qty*validated.price))# 找出多个脏数据点schemapa.DataFrameSchema({email:pa.Column(str,nullableFalse),score:pa.Column(int,checkspa.Check.between(0,100)),})dfpd.DataFrame({email:[aexample.com,None],score:[98,130]})try:schema.validate(df,lazyTrue)exceptpa.errors.SchemaErrorsasexc:cols[column,failure_case,index]print(exc.failure_cases[cols].to_string(indexFalse))schemapa.DataFrameSchema({team:pa.Column(str),revenue:pa.Column(float,checkspa.Check.ge(0)),},checkspa.Check(lambdadf:df.groupby(team)[revenue].sum().max()1000,errorsingle team revenue too high))fordfin[pd.DataFrame({team:[A,B],revenue:[120.0,80.0]}),pd.DataFrame({team:[A,A],revenue:[700.0,500.0]})]:try:schema.validate(df)print(batch ok:,df[revenue].sum())exceptpa.errors.SchemaErrorasexc:print(batch failed:,exc.reason_code)注意事项给关键输入表固定列名、类型和空值策略对边界值、缺列、异常分组写测试数据在生产任务里记录failure_cases方便回溯数据源PandasGUI一个为Pandas DataFrame提供图形用户界面的开源GitHub3.3K Star239 Fork工具允许用户通过图形界面查看、绘图和分析数据从而简化数据处理和分析过程。主要功能查看 DataFrame 和 Series支持 MultiIndex交互式绘图可以生成各种图表如折线图、条形图、箱型图等过滤数据可以根据条件筛选数据统计摘要提供数据的统计信息数据编辑和复制/粘贴可以直接在界面中编辑数据并进行复制粘贴操作导入 CSV 文件支持拖放导入 CSV 文件搜索工具栏可以快速搜索数据数据集官方自带示例数据集实战基于pip安装pip install pandasgui示例importpandasaspdfrompandasguiimportshowfrompandasgui.datasetsimportpokemon,titanic,all_datasets dfpd.DataFrame({a:[1,2,3],b:[4,5,6],c:[7,8,9]})show(df)show(pokemon,titanic)show(**all_datasets)PyJanitor一个基于Pandas的开源GitHub1.5K Star190 Fork数据清洗和预处理库旨在简化数据科学工作流中的常见数据操作。提供一组扩展Pandas功能的方法使数据操作更加方便和简洁。功能定位等价于R语言里Janitor支持链式调用完全兼容Pandas官方文档。特性链式操作允许通过链式调用简化复杂的数据清洗任务易用性提供直观和简洁的API降低数据预处理的复杂度集成性无缝集成Pandas扩展其功能而不改变其使用习惯通用性涵盖数据清洗的多种常见操作包括处理缺失值、去重、重命名列、数据转换等使用场景数据预处理在数据科学和机器学习项目中用于数据清洗和转换ETL流程在数据管道中用于提取、转换和加载数据数据分析在探索性数据分析过程中快速清理和准备数据函数case_when()多条件判断also()实战基于pip安装pip install pyjanitor示例importpandasaspdimportjanitor data{A:[1,2,3],B:[a,b,c],C:[None,2.5,3.0],D:[1,1,1]}dfpd.DataFrame(data)# 移除空值dfdf.remove_empty()# 去除重复行dfdf.drop_duplicate()# 重命名列名dfdf.rename_column(A,Column_A)# 转换列类型dfdf.change_type(Column_A,float)# 增加新列dfdf.add_column(E,[4,5,6])print(df)PandaSQL开源GitHub1.4K Star184 Fork库用写SQL的方式来查询Pandas的DataFrame不用学一堆Pandas的复杂语法。代码库已于26年3月23日归档。实战基于pip安装pip install pandasql示例importpandasaspdfrompandasqlimportsqldf dfpd.DataFrame({name:[张三,李四,王五,赵六],age:[25,30,28,22],city:[北京,上海,北京,深圳]})# 用SQL查询query SELECT name, age FROM df WHERE age 25 ORDER BY age DESC resultsqldf(query,locals())print(result)# 多表查询df1pd.DataFrame({id:[1,2],name:[A,B]})df2pd.DataFrame({id:[1,2],score:[90,85]})query SELECT df1.name, df2.score FROM df1 JOIN df2 ON df1.id df2.id resultsqldf(query,locals())# 分组聚合query SELECT city, COUNT(*) as count, AVG(age) as avg_age FROM df GROUP BY city resultsqldf(query,locals())

相关新闻

verilog HDLBits刷题[Finite State Machines]“Fsm3s”---Simple FSM 3 (synchronous reset)

verilog HDLBits刷题[Finite State Machines]“Fsm3s”---Simple FSM 3 (synchronous reset)

1、题目 See also: State transition logic for this FSM The following is the state transition table for a Moore state machine with one input, one output, and four states. Implement this state machine. Include a synchronous reset that resets the FSM to stat…

2026/7/29 0:31:33 阅读更多 →
AI简历筛选系统上线前必做的4层合规验证,GDPR+《生成式AI服务管理办法》双达标清单

AI简历筛选系统上线前必做的4层合规验证,GDPR+《生成式AI服务管理办法》双达标清单

更多请点击: https://codechina.net 第一章:AI简历筛选系统上线前必做的4层合规验证,GDPR《生成式AI服务管理办法》双达标清单 在部署AI简历筛选系统前,必须同步满足欧盟《通用数据保护条例》(GDPR)与我国…

2026/7/29 0:31:33 阅读更多 →
Adomate 自动化测试快速入门指南

Adomate 自动化测试快速入门指南

前言 Adomate 作为数据驱动的广告创意生成平台,可对接 Meta 广告账户、广告素材库、Trustpilot 与 Amazon 用户评论,自动化构建创意研究工作流并生成可追溯的品牌化广告方案。随着平台功能快速迭代,手工回归测试成本持续升高,引入 UI 自动化测试成为保障交付质量、提升验证…

2026/7/29 0:30:33 阅读更多 →

最新新闻

南京大学 操作系统 (JYY) 学习笔记:C 标准库与动态内存管理的艺术 (libc  malloc)

南京大学 操作系统 (JYY) 学习笔记:C 标准库与动态内存管理的艺术 (libc malloc)

南京大学 操作系统 (JYY) 学习笔记:C 标准库与动态内存管理的艺术 (libc & malloc)写在前面:这是本系列的第九篇。 我们已经学习了许多系统调用,比如进程管理的 fork, execve, waitpid;内存管理的 mmap;文件管理的…

2026/7/29 0:39:36 阅读更多 →
南京大学 操作系统 (JYY) 学习笔记:可执行文件、链接器与 Shebang 的彩蛋

南京大学 操作系统 (JYY) 学习笔记:可执行文件、链接器与 Shebang 的彩蛋

写在前面:这是本系列的第十篇。 我们已经知道,进程从 execve 后的初始状态开始,可以通过 mmap 改变自己的地址空间,通过 fork 创建新的进程。有了系统调用和 libc,我们真的可以实现“任何程序”了。 但在此之前&#x…

2026/7/29 0:39:36 阅读更多 →
LangGraph 工作流:权限日志没搞定,Agent 上线就崩?

LangGraph 工作流:权限日志没搞定,Agent 上线就崩?

聊《同样是LangGraph,为什么有的能上线、有的只能演示?》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要最近大模型应用从 Demo 转向权限、日志和可观测,这个趋势背后是团队对…

2026/7/29 0:38:36 阅读更多 →
万字图文盘点RAG常见的100个核心概念:前 30 个

万字图文盘点RAG常见的100个核心概念:前 30 个

很多同学看了十几篇 RAG 教程,Embedding、Chunk、向量数据库、BM25 单独都认识,连起来却分不清谁先谁后。 因为 RAG 不只是接个向量数据库。前面要处理文档,后面要排序结果、控制上下文,任何一环出问题,答案都会偏。 …

2026/7/29 0:38:36 阅读更多 →
Linux提权实战:从SUID、Capabilities到内核漏洞的系统化攻防指南

Linux提权实战:从SUID、Capabilities到内核漏洞的系统化攻防指南

1. 项目概述:从靶机到实战的提权思维构建最近在VulnHub上通关了几个经典的Linux靶机,发现一个非常有意思的现象:很多初学者在拿到一个低权限shell后,往往会陷入迷茫,不知道下一步该往哪里走。他们可能知道一些零散的提…

2026/7/29 0:38:36 阅读更多 →
【LLM可信性认证标准】:基于ISO/IEC 23894的幻觉量化评估指南(附开源测评套件v2.3)

【LLM可信性认证标准】:基于ISO/IEC 23894的幻觉量化评估指南(附开源测评套件v2.3)

更多请点击: https://codechina.net 第一章:AI 幻觉问题解决 AI 幻觉(Hallucination)指大语言模型在缺乏可靠依据时生成看似合理但事实错误、逻辑矛盾或完全虚构的内容。这类问题在问答、摘要、代码生成等关键场景中可能引发严重…

2026/7/29 0:37:36 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻