共计 1310 个字符,预计需要花费 4 分钟才能阅读完成。
欢迎来到 Python 学习的第 39 天!在前几天的学习中,我们了解了 Pandas 的数据读取、清洗、处理与分析方法。今天我们进入一个非常实用也极具视觉冲击力的部分 —— 使用 Pandas 和 Matplotlib 进行 基础数据可视化 !
一、为什么要可视化?
数据可视化能帮助我们:
- 直观理解数据的分布、趋势和规律;
- 发现潜在的异常值;
- 提高数据分析报告的表达力和说服力。
Pandas 实际上内置了 Matplotlib 的接口,让我们可以很方便地通过 .plot() 方法实现图表绘制。
二、准备数据
我们使用一个经典的示例数据集 —— 泰坦尼克号乘客信息 ,它包含乘客的年龄、性别、船舱等级、生存情况等。
import pandas as pd
# 载入数据
url = "https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv"
df = pd.read_csv(url)
# 查看前几行数据
print(df.head())
三、绘图基础:.plot() 方法
Pandas 默认使用 Matplotlib 来绘图,我们可以直接在 Series 或 DataFrame 上调用 .plot() 方法来快速生成图形。
1. 直方图(Histogram)
查看乘客年龄的分布:
df['Age'].plot(kind='hist', bins=20, title='Age Distribution')
🎯 用途 :用于展示数值型数据的分布。
2. 条形图(Bar Plot)
展示不同舱位乘客人数:
df['Pclass'].value_counts().sort_index().plot(kind='bar', title='Number of Passengers by Class')
🎯 用途 :对类别型数据计数后可视化。
3. 饼图(Pie Chart)
查看性别占比:
df['Sex'].value_counts().plot(kind='pie', autopct='%1.1f%%', title='Gender Distribution')
🎯 用途 :用于展示整体比例结构。
4. 折线图(Line Plot)
虽然不常用于这类数据,但可以对年龄与生存人数之间做一个粗略的关系尝试:
df.groupby('Age')['Survived'].sum().plot(kind='line', title='Survivors by Age')
四、提高图表可读性的小技巧
你可以通过以下参数增强图形的表达力:
df['Age'].plot(kind='hist', bins=20, alpha=0.7, color='skyblue', edgecolor='black', grid=True)
alpha:透明度color:填充色edgecolor:边框颜色grid:是否显示网格线
五、练习任务
- 使用饼图展示“是否生还”的比例。
- 绘制不同性别乘客的平均年龄条形图。
- 尝试在一个图中绘制多条线(如每个舱位的年龄分布曲线)。
六、小结
今天我们学习了如何用 Pandas 快速实现基础的数据可视化:
.plot()是快速画图的利器;- 常见图类型:直方图、条形图、饼图、折线图;
- 适当调整参数可以提高图表的可读性。
正文完