性能优化
用 Python/pandas…
当你用 pandas、matplotlib、seaborn 和 Jupyter 做探索性数据分析、数据清洗、统计可视化或分析仪表盘时,按此流程与规范执行。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
用 Python/pandas 做探索性通用
解决思路
- 按探索性数据分析流水线推进:先用 pd.read_csv() 或合适的加载器读取数据,检查 .shape、.dtypes、.describe() 和 .isnull().sum()
- 清洗与转换:处理缺失值、修正 dtypes、重命名列、用向量化的 pandas 操作过滤异常值
- 探索关系:用 .groupby()、.corr() 和交叉表识别模式
- 可视化发现:用 matplotlib/seaborn 创建有针对性的图表,标注坐标轴、添加标题、使用色盲友好调色板
- 验证结果:运行统计检验、报告置信区间、验证假设
- 记录与分享:用 markdown 分节组织 notebook,分享前清除输出,固定依赖版本
- 编写简洁、技术性的代码并配以准确的 Python 示例
- 强调数据分析工作流的可读性与可复现性
- 使用函数式编程模式,尽量减少类的使用
- 优先使用向量化操作而非显式循环以提升性能
- 使用描述性变量命名(如 is_valid、has_data、total_count)
- 遵循 PEP 8 风格指南
- 所有数据操作与分析任务都使用 pandas
- 使用方法链实现干净、可读的转换
- 用 loc 和 iloc 做显式数据选择
- 用 groupby 做高效数据聚合
- 按场景恰当使用 merge 和 join 合并数据集
- 用向量化操作替代循环
- 对低基数字符串列使用 categorical 等高效数据结构
- 对超出内存的数据集考虑使用 dask
- 对代码做性能剖析以定位并优化瓶颈
- 使用合适的 dtypes 以减少内存占用
- 校验数据类型与取值范围以保证数据完整性
- 读取外部数据时对易出错操作使用 try-except 块
- 检查缺失值并妥善处理
- 转换后验证数据形状与结构
- 用 matplotlib 做细粒度定制控制
- 创建清晰、信息量足的图表并正确标注
- 始终包含坐标轴标签和标题
- 相关可视化之间使用一致的配色方案
- 按预期用途以合适分辨率保存图表
- 用 seaborn 做统计可视化并利用其美观默认样式
- 利用内置主题保持风格一致
- 根据数据类型选择合适的图表类型(散点、折线、柱状、热力图等)
- 选择调色板时考虑色盲可访问性
- 使用色盲友好的调色板
- 包含替代文本描述
- 确保视觉元素有足够对比度
- 为复杂图表提供数据表作为替代
- 用清晰的 markdown 分节组织 notebook
- 以概述/引言单元格开头
- 详尽记录分析步骤
- 保持代码单元格聚焦且模块化
- 以结论和关键发现结尾
- 保持有意义的单元格执行顺序
- 分享 notebook 前清除输出
- 用环境文件(requirements.txt)管理依赖
- 记录数据来源与访问方式
- 包含日期/版本信息
- 在 notebook 开头导入所有库
- 在专用单元格中定义辅助函数
- 恰当使用魔法命令(如 %matplotlib inline)
- 保持单个单元格简洁且职责单一
- 核心依赖:pandas 用于数据操作与分析、numpy 用于数值计算、matplotlib 作为基础绘图库、seaborn 用于统计数据可视化、jupyter 作为交互式计算环境
- 扩展库:scikit-learn 用于机器学习任务、scipy 用于科学计算、plotly 用于交互式可视化、statsmodels 用于统计建模
- 分析前定义清晰的指标与 KPI
- 记录数据采集方法
- 实现可复现的数据管道
- 在合适场景创建自动化报告
- 对 notebook 和分析脚本做版本控制
- 根据数据类型使用合适的统计检验
- 在报告点估计的同时报告置信区间
- 谨慎解读 p 值
- 不仅看统计显著性,还要考虑效应量
- 记录假设与局限性
- 在数据管道中实现恰当的错误处理
- 记录数据质量问题与异常
- 在分析工作流中设置验证检查点
- 记录已知的数据质量问题
- 在关键阶段内置数据合理性检查