Python – 绘制 Pandas DataFrame 的散点图
Pandas 是一个流行的 Python 库,用于数据分析和处理。在 Pandas 中,DataFrame 是一种重要的数据结构,它类似于电子表格,可以用于存储和操作复杂的数据。在本文中,我们将讨论如何使用 Pandas 绘制 DataFrame 的散点图。
更多Pandas相关文章,请阅读:Pandas 教程
准备工作
首先,我们需要安装 Pandas 库。可以使用以下命令在终端或命令提示符中安装:
pip install pandas
安装完成后,我们需要导入 Pandas 和其他必要的库:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
接下来,我们需要创建一个 DataFrame。为了演示,我们将创建一个包含两列数据的 DataFrame,其中第一列表示一个人的年龄,第二列表示他们的体重:
data = {'Age': [22, 25, 30, 35, 45, 55, 60],
'Weight': [50, 55, 60, 65, 70, 75, 80]}
df = pd.DataFrame(data)
现在,我们已经准备好了我们的数据,接下来,我们将使用 Pandas 绘制散点图。
绘制散点图
Pandas 提供了一个非常方便的方法来绘制 DataFrame 的散点图。我们可以使用 plot
方法,并设置 kind
参数为 'scatter'
,然后指定 x 和 y 轴的列名:
df.plot(kind='scatter', x='Age', y='Weight')
plt.show()
我们可以看到,散点图显示了每个人的年龄和体重之间的关系。根据数据,我们可以发现,随着年龄的增长,体重也有所增加。
如果我们想要自定义图表,比如改变点的颜色,大小,形状等,我们可以传递更多的参数:
df.plot(kind='scatter', x='Age', y='Weight', color='b', s=100, marker='o')
plt.title('Age vs Weight')
plt.xlabel('Age')
plt.ylabel('Weight')
plt.show()
现在,我们的散点图已经被美化了,这使得数据更加表达力,也能够更加容易解读。我们可以看到,所有的点都是蓝色的圆形,大小为100。
高级散点图
在实际使用过程中,我们可能需要将不同分组数据绘制在一个散点图上,并使用不同的颜色来区分不同的组。Pandas 提供了一个简单的方法来实现这一点。我们可以使用 groupby
方法按照不同的分组绘制散点图,并使用不同的颜色:
data2 = {'Age': [22, 25, 30, 35, 45, 55, 60, 22, 25, 30, 35, 45, 55, 60],
'Weight': [50, 55, 60, 65, 70, 75, 80, 55, 60, 65, 70, 75, 80, 85],
'Gender': ['Male', 'Male', 'Male', 'Male', 'Male', 'Male', 'Male', 'Female', 'Female', 'Female', 'Female', 'Female', 'Female', 'Female']}
df2 = pd.DataFrame(data2)
groups = df2.groupby('Gender')
fig, ax = plt.subplots()
for name, group in groups:
ax.plot(group['Age'], group['Weight'], marker='o', linestyle='', ms=8, label=name)
ax.legend()
ax.set_title('Age vs. Weight by Gender')
ax.set_xlabel('Age')
ax.set_ylabel('Weight')
plt.show()
我们可以看到,散点图根据不同的组别使用了不同的颜色。男性数据表示为蓝色,女性数据表示为橙色。此外,我们还使用 label
参数来添加图例。
结论
通过本文,我们学习了如何使用 Pandas 绘制散点图,并了解了一些不同的散点图样式。散点图是数据可视化的重要工具,它能够让我们更好地了解数据并发现数据之间的关系。如果你正在使用 Pandas 进行数据分析和探索,那么散点图是一个重要的工具,它能够让你更好地理解数据,发现数据背后的故事。