Python 数据分析:Pandas 与 Matplotlib 可视化
·
Python 数据分析:Pandas 与 Matplotlib 可视化
1. Pandas 核心功能
Pandas 是 Python 的数据处理核心库,核心数据结构为 DataFrame 和 Series:
- 数据读取与清洗:支持 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. 典型应用场景
- 时间序列分析:股票价格波动
$$ \text{收益率} = \frac{P_t - P_{t-1}}{P_{t-1}} $$ - 相关性探索:
df.corr()生成热力图 - 分布分析:直方图 + 密度曲线
提示:实际项目中建议结合 Seaborn 库简化统计图表绘制,使用
pd.to_datetime()规范时间序列数据处理。
更多推荐
所有评论(0)