Python – 绘制 Pandas DataFrame 的散点图

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 进行数据分析和探索,那么散点图是一个重要的工具,它能够让你更好地理解数据,发现数据背后的故事。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 教程