关于 analytics-data-analysis
面向使用 Python、pandas、可视化库和 Jupyter 的数据分析技能,提供从检查、清理数据到统计验证与报告的可复现流程。
主要功能
- 01探索性分析工作流
- 02Pandas 转换与验证
- 03Matplotlib 和 seaborn 可视化
- 04Jupyter 笔记本组织
- 05可复现性与依赖管理实践
- 06统计检验与结果报告
适用场景
- 01检查和清理表格数据集
- 02探索关系并可视化发现
- 03通过统计检验验证分析
- 04整理可复现的笔记本以便共享
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill analytics-data-analysis安装后在 Claude Code 中输入/analytics-data-analysis确认已加载。
详细介绍
分析与数据分析
关于使用 pandas、matplotlib、seaborn 和 numpy 进行数据分析、可视化及基于 Jupyter 的工作流的指南。优先考虑可读性、可复现性和向量化操作。
工作流:探索性数据分析流程
- 加载并检查 — 使用
pd.read_csv()或适当的加载器读取数据,检查.shape、.dtypes、.describe()和.isnull().sum() - 清理和转换 — 处理缺失值、修正数据类型、重命名列,并使用 pandas 向量化操作筛除异常值
- 探索关系 — 使用
.groupby()、.corr()和交叉制表来识别模式 - 可视化发现 — 使用 matplotlib/seaborn 创建针对性图表;标注坐标轴、添加标题并使用色盲友好型调色板
- 验证结果 — 执行统计检验、报告置信区间并验证假设
- 记录并分享 — 使用 Markdown 分节组织 notebook,分享前清除输出,并固定依赖项
核心原则
- 编写简洁、专业的代码,并提供准确的 Python 示例
- 强调数据分析工作流的可读性和可复现性
- 使用函数式编程模式;尽量减少类的使用
- 优先使用向量化操作,而非显式循环,以提升性能
- 使用描述性变量命名约定(例如,
is_valid、has_data、total_count) - 遵循 PEP 8 风格指南
快速入门示例
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# Load and inspect
df = pd.read_csv("data.csv", parse_dates=["timestamp"])
print(f"Shape: {df.shape}, Missing: {df.isnull().sum().sum()}")
# Clean: drop rows missing target, fill numeric gaps with median
df = (
df.dropna(subset=["revenue"])
.assign(category=lambda x: x["category"].astype("category"))
.fillna(df.select_dtypes("number").median())
)
# Analyze: revenue by category
summary = df.groupby("category")["revenue"].agg(["mean", "median", "std"])
# Visualize
fig, ax = plt.subplots(figsize=(10, 6))
sns.boxplot(data=df, x="category", y="revenue", palette="colorblind", ax=ax)
ax.set_title("Revenue Distribution by Category")
ax.set_ylabel("Revenue ($)")
plt.tight_layout()
plt.savefig("revenue_by_category.png", dpi=150)
plt.show()
使用 Pandas 进行数据分析
数据操作最佳实践
- 使用 pandas 执行所有数据操作和分析任务
- 使用方法链式调用,实现简洁、易读的转换
- 使用
loc和iloc明确选择数据 - 使用
groupby高效聚合数据 - 适当使用
merge和join合并数据集
性能优化
- 使用向量化操作,而非循环
- 对低基数字符串列使用分类数据类型等高效数据结构
- 对大于内存容量的数据集,考虑使用 dask
- 对代码进行性能分析,以识别并优化瓶颈
- 使用适当的数据类型,尽量减少内存用量
数据验证
- 验证数据类型和取值范围,确保数据完整性
- 读取外部数据时,对易出错的操作使用 try-except 代码块
- 检查缺失值并进行适当处理
- 转换后验证数据形状和结构
可视化规范
Matplotlib 指南
- 使用 matplotlib 实现精细的自定义控制
- 创建清晰、信息丰富且标注规范的图表
- 始终添加坐标轴标签和标题
- 在相关可视化中使用一致的配色方案
- 根据预期用途,以适当的分辨率保存图表
使用 Seaborn 进行统计可视化
- 使用 seaborn 进行统计可视化,并利用其美观的默认样式
- 使用内置主题保持样式一致
- 根据数据选择适当的图表类型(散点图、折线图、柱状图、热力图等)
- 选择调色板时考虑色盲无障碍需求
可视化的无障碍性
- 使用色盲友好型调色板
- 提供替代文本描述
- 确保视觉元素具有足够的对比度
- 为复杂图表提供数据表作为替代
Jupyter Notebook 最佳实践
Notebook 结构
- 使用清晰的 Markdown 分节组织 notebook
- 以概述/介绍单元格开篇
- 详细记录分析步骤
- 让代码单元格聚焦且模块化
- 以结论和关键发现收尾
执行与可复现性
- 保持有意义的单元格执行顺序
- 分享 notebook 前清除输出
- 使用环境文件(requirements.txt)管理依赖项
- 记录数据来源和访问方式
- 包含日期/版本信息
代码组织
- 在 notebook 开头导入所有库
- 在专用单元格中定义辅助函数
- 适当使用魔法命令(%matplotlib inline 等)
- 保持每个单元格简洁且专注于单一用途
技术要求
核心依赖项
- pandas:数据操作与分析
- numpy:数值计算
- matplotlib:基础绘图库
- seaborn:统计数据可视化
- jupyter:交互式计算环境
扩展库
- scikit-learn:机器学习任务
- scipy:科学计算
- plotly:交互式可视化
- statsmodels:统计建模
分析实施
跟踪与度量
- 在分析前定义明确的指标和 KPI
- 记录数据收集方法
- 实施恰当的数据管道,确保结果可复现
- 适时创建自动化报告
- 对笔记本和分析脚本进行版本控制
统计分析
- 根据数据类型使用恰当的统计检验
- 在报告点估计值时同时报告置信区间
- 谨慎解读 p 值
- 考虑效应量,而不仅仅是统计显著性
- 记录假设和局限性
错误处理与日志记录
- 在数据管道中实施恰当的错误处理
- 记录数据质量问题和异常
- 在分析工作流中创建验证检查点
- 记录已知的数据质量问题
- 在关键阶段加入数据合理性检查
评论
支持 Markdown