Python 数据分析:Pandas 与 Matplotlib 可视化

1. Pandas 核心功能

Pandas 是 Python 的数据处理核心库,核心数据结构为 DataFrameSeries

  • 数据读取与清洗:支持 CSV、Excel、SQL 等格式
    import pandas as pd
    df = pd.read_csv('data.csv')  # 读取数据
    df.dropna(inplace=True)       # 删除缺失值
    

  • 数据筛选与聚合
    # 筛选年龄大于30的记录
    filtered = df[df['age'] > 30]
    
    # 按城市分组计算平均收入
    df.groupby('city')['income'].mean()
    

2. Matplotlib 可视化基础

Matplotlib 提供灵活的绘图接口,常用图表类型:

  • 折线图:展示趋势变化
    import matplotlib.pyplot as plt
    plt.plot(df['date'], df['sales'])
    plt.title('销售额趋势')
    plt.xlabel('日期')
    plt.show()
    

  • 柱状图:比较分类数据
    plt.bar(df['product'], df['quantity'])
    plt.xticks(rotation=45)  # 旋转x轴标签
    

3. 协同工作流示例

通过 Pandas 预处理 + Matplotlib 可视化分析销售数据:

# 数据准备
sales = pd.DataFrame({
    '月份': ['1月','2月','3月'],
    '销量': [120, 240, 180],
    '单价': [25, 30, 28]
})

# 计算销售额
sales['销售额'] = sales['销量'] * sales['单价']

# 双Y轴可视化
fig, ax1 = plt.subplots()
ax1.bar(sales['月份'], sales['销量'], color='skyblue')
ax1.set_ylabel('销量')

ax2 = ax1.twinx()  # 共享X轴
ax2.plot(sales['月份'], sales['销售额'], 'ro-')
ax2.set_ylabel('销售额', color='red')
plt.show()

4. 进阶技巧
  • 子图布局plt.subplots(2,2) 创建多图表看板
  • 样式优化
    plt.style.use('ggplot')  # 使用ggplot风格
    plt.grid(True, linestyle='--', alpha=0.6)  # 虚线网格
    

  • 动态交互:结合 %matplotlib notebook 实现 Jupyter 内动态图表
5. 典型应用场景
  1. 时间序列分析:股票价格波动
    $$ \text{收益率} = \frac{P_t - P_{t-1}}{P_{t-1}} $$
  2. 相关性探索df.corr() 生成热力图
  3. 分布分析:直方图 + 密度曲线

提示:实际项目中建议结合 Seaborn 库简化统计图表绘制,使用 pd.to_datetime() 规范时间序列数据处理。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐