跳转至

项目1: 数据分析工具

难度: ⭐⭐ 初级 时间: 2-3小时 涉及知识: Pandas, 数据清洗, 可视化


🎯 项目目标

创建一个CSV数据分析工具,能够: 1. 读取CSV文件 2. 显示基本统计信息 3. 生成可视化报告 4. 支持命令行参数


📋 需求

功能需求

Bash
# 命令行使用
python analyze.py data.csv --output report/

# 功能
- 显示数据摘要(行数、列数、数据类型)
- 显示统计信息(均值、中位数、标准差等)
- 生成分布图
- 生成相关性热图
- 导出分析报告

技术要求

  • 使用argparse处理命令行参数
  • 使用pandas处理数据
  • 使用matplotlib生成图表
  • 适当的错误处理

🚀 实现步骤

步骤1: 基本框架

Python
# analyze.py
import argparse
import pandas as pd
from pathlib import Path

def main():
    parser = argparse.ArgumentParser(description="CSV数据分析工具")
    parser.add_argument("input", help="输入CSV文件")
    parser.add_argument("--output", default="report", help="输出目录")
    args = parser.parse_args()

    # 创建输出目录
    output_dir = Path(args.output)
    output_dir.mkdir(exist_ok=True)

    # 加载数据
    df = pd.read_csv(args.input)

    # 分析...
    print(f"数据形状: {df.shape}")

if __name__ == "__main__":
    main()

步骤2: 数据分析

Python
def analyze_data(df):
    """数据分析函数"""
    print("=== 数据摘要 ===")
    print(f"形状: {df.shape}")
    print(f"\n数据类型:\n{df.dtypes}")
    print(f"\n统计摘要:\n{df.describe()}")
    print(f"\n缺失值:\n{df.isnull().sum()}")

步骤3: 可视化

Python
import matplotlib.pyplot as plt

def create_visualizations(df, output_dir):
    """创建可视化图表"""
    # 数值列的分布图
    numeric_cols = df.select_dtypes(include=['number']).columns
    for col in numeric_cols:
        plt.figure()
        df[col].hist()
        plt.title(f"{col} 分布")
        plt.savefig(output_dir / f"{col}_distribution.png")
        plt.close()

📝 扩展挑战

  1. 交互式报告 - 使用HTML生成更美观的报告
  2. 更多图表 - 箱线图、散点图等
  3. 自动建议 - 根据数据给出分析建议
  4. 性能优化 - 处理大文件

🎯 完成标准

  • 能正确处理命令行参数
  • 能加载和显示数据信息
  • 能生成至少2种可视化图表
  • 有适当的错误处理
  • 代码清晰可读

💡 提示

  • 从简单功能开始,逐步添加
  • 先用小数据集测试
  • 注意异常处理(文件不存在、格式错误等)
  • 添加注释帮助理解

🚀 下一步

完成后,尝试: - 项目2: Web爬虫 - 项目3: ML模型训练

记住: 完成比完美更重要!