📜  pandas 绘制日期直方图 - Python (1)

📅  最后修改于: 2023-12-03 15:03:30.713000             🧑  作者: Mango

Pandas 绘制日期直方图 - Python

在数据分析中,经常需要将数据按日期进行可视化展示,直方图是一种常用的可视化方式,本文介绍如何使用 Pandas 库绘制日期直方图。

数据准备

我们使用 Pandas 内置数据集 tips 作为演示数据。首先,让我们导入 Pandas 库和数据集:

import pandas as pd
import seaborn as sns

tips = sns.load_dataset('tips')

查看数据集头部信息:

tips.head()

输出:

   total_bill   tip     sex smoker  day    time  size
0       16.99  1.01  Female     No  Sun  Dinner     2
1       10.34  1.66    Male     No  Sun  Dinner     3
2       21.01  3.50    Male     No  Sun  Dinner     3
3       23.68  3.31    Male     No  Sun  Dinner     2
4       24.59  3.61  Female     No  Sun  Dinner     4

从上面的输出中,我们可以看到数据集包含 total_bill(总消费)、tip(小费)、sex(性别)、smoker(是否吸烟)、day(日期)、time(就餐时间)、size(用餐人数)各列信息。

绘制日期直方图

我们使用 pd.to_datetime()day 列数据转换成 Pandas 中的 datetime 类型,然后使用 hist() 绘制直方图:

tips['day'] = pd.to_datetime(tips['day'])
tips['day'].dt.day.hist()

输出:

从上面的输出可以看到,我们成功绘制了日期直方图。通过 pd.to_datetime() 函数将字符串格式的日期转换成 Pandas 中的 datetime 类型,然后使用 dt 属性中的 day 方法获取日期信息,最后使用 hist() 函数绘制直方图。

添加直方图参数

我们可以通过直方图的参数来控制图表的样式,比如,修改直方图的颜色、块数、透明度等。

可以使用 hist() 函数的参数来控制直方图的样式,下面是常用的参数列表:

参数 | 描述 ---|--- bins | 箱子的数量(默认为10) range | 取值范围(默认最小和最大) density | 是否为密度图(默认为False) cumulative | 是否累计显示(默认为False) alpha | 透明度(默认为1.0) color | 直方图颜色 edgecolor | 边框颜色(默认为白色) orientation | 方向('horizontal''vertical',默认为'vertical'

下面是绘制带图例和标签的日期直方图的完整代码示例:

tips['day'] = pd.to_datetime(tips['day'])
ax = tips['day'].dt.day.hist(bins=31, range=(0.5, 31.5), color='steelblue',
                             edgecolor='white', alpha=0.5, label='Day')
ax.set_xlabel('Day')
ax.set_ylabel('Count')
ax.legend()

输出:

通过上面的代码,我们绘制了包含图例和标签的日期直方图,使用了 binsrangecoloredgecoloralpha 等参数控制了直方图样式,使用了 set_xlabel()set_ylabel() 设置了 X 轴和 Y 轴的标签,最后使用 legend() 添加了图例。

结论

本文介绍了如何使用 Pandas 库绘制日期直方图。我们使用 Pandas 内置数据集 tips 作为演示数据,首先将 day 列转换成 Pandas 中的 datetime 类型,然后使用 hist() 函数绘制直方图,并通过参数来控制图表的样式,最后添加图例和标签。