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()
方法接收多个参数,其中 xlabel
和 ylabel
用于设置 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 中的数据。条形图是一种常用的数据可视化形式,能够有效地展示数据的关系和趋势。同时,我们也了解了如何自定义条形图的样式,包括颜色、标签、刻度和图例等。
在实际应用中,我们可以根据需要进一步调整条形图的样式,以满足具体的可视化需求。