项目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()
📝 扩展挑战¶
- 交互式报告 - 使用HTML生成更美观的报告
- 更多图表 - 箱线图、散点图等
- 自动建议 - 根据数据给出分析建议
- 性能优化 - 处理大文件
🎯 完成标准¶
- 能正确处理命令行参数
- 能加载和显示数据信息
- 能生成至少2种可视化图表
- 有适当的错误处理
- 代码清晰可读
💡 提示¶
- 从简单功能开始,逐步添加
- 先用小数据集测试
- 注意异常处理(文件不存在、格式错误等)
- 添加注释帮助理解
🚀 下一步¶
完成后,尝试: - 项目2: Web爬虫 - 项目3: ML模型训练
记住: 完成比完美更重要!