Pandas 散点图
散点图是一种用于展示两个变量之间关系的可视化工具。它通过在二维平面上绘制点来表示数据,每个点的位置由两个变量的值决定。散点图常用于发现数据中的趋势、模式或异常值。
在Pandas中,散点图可以通过 DataFrame.plot.scatter()
方法轻松创建。本文将逐步介绍如何使用Pandas绘制散点图,并通过实际案例展示其应用。
1. 基本概念
散点图的核心思想是通过点的分布来展示两个变量之间的关系。例如,如果我们想研究身高和体重之间的关系,可以将身高作为X轴,体重作为Y轴,每个点代表一个人的身高和体重数据。
2. 创建散点图
2.1 导入必要的库
首先,我们需要导入Pandas和Matplotlib库。Matplotlib是Pandas绘图功能的后端。
import pandas as pd
import matplotlib.pyplot as plt
2.2 创建示例数据
让我们创建一个简单的DataFrame来演示散点图的绘制。
data = {
'Height': [150, 160, 170, 180, 190],
'Weight': [50, 60, 70, 80, 90]
}
df = pd.DataFrame(data)
2.3 绘制散点图
使用 plot.scatter()
方法绘制散点图。
df.plot.scatter(x='Height', y='Weight', title='Height vs Weight')
plt.show()
2.4 输出结果
运行上述代码后,你将看到一个散点图,X轴表示身高,Y轴表示体重。每个点代表一个人的身高和体重数据。
如果你在Jupyter Notebook中运行代码,plt.show()
是必要的,否则图形可能不会显示。
3. 自定义散点图
3.1 修改点的大小和颜色
你可以通过 s
参数调整点的大小,通过 c
参数调整点的颜色。
df.plot.scatter(x='Height', y='Weight', s=100, c='red', title='Height vs Weight')
plt.show()
3.2 添加网格线
为了更清晰地观察数据,你可以添加网格线。
df.plot.scatter(x='Height', y='Weight', grid=True, title='Height vs Weight')
plt.show()
4. 实际案例
4.1 分析学生成绩
假设我们有一个包含学生数学和英语成绩的DataFrame,我们想分析这两门成绩之间的关系。
data = {
'Math': [85, 90, 78, 92, 88],
'English': [88, 85, 80, 95, 90]
}
df = pd.DataFrame(data)
df.plot.scatter(x='Math', y='English', title='Math vs English Scores')
plt.show()
4.2 输出结果
运行上述代码后,你将看到一个散点图,X轴表示数学成绩,Y轴表示英语成绩。通过观察点的分布,你可以判断两门成绩之间是否存在相关性。
如果点大致沿着一条直线分布,说明两门成绩之间存在较强的相关性。
5. 总结
散点图是探索两个变量之间关系的强大工具。通过Pandas的 plot.scatter()
方法,你可以轻松创建散点图,并通过自定义参数调整图形的外观。在实际应用中,散点图可以帮助你发现数据中的趋势、模式或异常值。
6. 附加资源与练习
- 练习1:创建一个包含100个随机点的DataFrame,并绘制散点图。
- 练习2:使用真实数据集(如Iris数据集)绘制散点图,分析不同特征之间的关系。
在绘制散点图时,确保数据是数值型的,否则可能会引发错误。
通过本文的学习,你应该已经掌握了如何使用Pandas绘制散点图。继续练习并探索更多数据可视化的技巧吧!