Python – 如何在条形图中绘制 Pandas DataFrame

Python – 如何在条形图中绘制 Pandas DataFrame

在 Pandas 中,我们经常使用 DataFrame 来处理数据。在数据分析和可视化中,条形图是一种常用的可视化图表形式,能够清晰直观地呈现复杂数据的关系和趋势。接下来将介绍如何用 Python 中的 Pandas 库来制作条形图,并展示 DataFrame 中的数据。

准备工作

在开始之前,需要先安装 Pandas 库。如果是 Anaconda 环境下,可以通过以下命令来安装:

conda install pandas

示例数据

为了演示如何在条形图中绘制 Pandas DataFrame,我们需要一个示例数据。在本文中,我们使用 Titanic 数据集,它包含了 1912 年泰坦尼克号沉船事件中的乘客名单和信息。

可以通过以下代码来读取 Titanic 数据集:

import pandas as pd

# 读取数据
df = pd.read_csv('titanic.csv')

这里需要注意,titanic.csv 数据集需要提前下载好并保存在本地。可以到 Kaggle 网站上获取该数据集。

绘制条形图

在 Pandas 中,我们可以使用 plot.bar() 方法来绘制条形图。该方法有很多参数,可以根据需要进行设置。例如,我们可以使用 x 参数来指定要用作 X 轴的数据列,使用 y 参数来指定要用作 Y 轴的数据列。

以下是一个展示乘客等级与生还情况的条形图示例代码:

# 按乘客等级和生还情况对数据进行分组,并计算总人数
grouped = df.groupby(['Pclass', 'Survived']).size().unstack(fill_value=0)

# 绘制条形图
ax = grouped.plot.bar(xlabel='Passenger Class', ylabel='Number of Passengers', rot=0, title='Survival Rate by Passenger Class')

在上面的代码中,groupby() 方法用于按照乘客等级和生还情况对数据进行分组。size() 方法用于计算每个组的大小,最后使用 unstack() 方法将数据重构成条形图所需的格式。plot.bar() 方法接收多个参数,其中 xlabelylabel 用于设置 X 轴和 Y 轴的标签,rot 用于控制 X 轴标签的旋转角度,title 用于设置图表标题。

在这张图中,每个条形代表一个乘客等级,其中蓝色条代表在该等级下未生还的人数,橙色条代表生还的人数。

自定义条形图样式

除了可以使用默认样式,我们还可以自定义条形图的样式,包括条形颜色、标签、刻度、图例等。

以下是一个自定义样式的条形图示例代码:

# 按性别和生还情况对数据进行分组,并计算总人数
grouped = df.groupby(['Sex', 'Survived']).size().unstack(fill_value=0)

# 绘制条形图
ax = grouped.plot.bar(xlabel='Sex', ylabel='Number of Passengers', rot=0, title='Survival Rate by Gender')

# 添加标签和刻度
ax.set_xticklabels(['Female', 'Male'], rotation=0)
ax.set_yticks(range(0, 600, 100))
ax.set_yticklabels(['0', '100', '200', '300', '400', '500'])

# 自定义颜色
ax.patches[0].set_color('#FFC0CB')
ax.patches[1].set_color('#87CEEB')
ax.patches[2].set_color('#FFA07A')
ax.patches[3].set_color('#1E90FF')

# 添加图例
ax.legend(['Not Survived (Female)', 'Survived (Female)', 'Not Survived (Male)', 'Survived (Male)'])

在上面的代码中,我们使用 set_xticklabels() 方法和 set_yticklabels() 方法来设置 X 轴和 Y 轴的刻度标签。同时,我们也使用了 set_yticks() 方法来设置 Y 轴的刻度范围。

在自定义颜色部分,我们使用了 patches 属性来获取每个条形元素,并使用 set_color() 方法来设置条形颜色。最终使用 legend() 方法添加了图例。

在这张图中,我们自定义了颜色和标签,使得图表更加清晰易懂。

结论

通过本文,我们了解了如何在 Python 中使用 Pandas 库绘制条形图,并展示 DataFrame 中的数据。条形图是一种常用的数据可视化形式,能够有效地展示数据的关系和趋势。同时,我们也了解了如何自定义条形图的样式,包括颜色、标签、刻度和图例等。

在实际应用中,我们可以根据需要进一步调整条形图的样式,以满足具体的可视化需求。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程