📅  最后修改于: 2023-12-03 15:03:30.713000             🧑  作者: Mango
在数据分析中,经常需要将数据按日期进行可视化展示,直方图是一种常用的可视化方式,本文介绍如何使用 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()
输出:
通过上面的代码,我们绘制了包含图例和标签的日期直方图,使用了 bins
、range
、color
、edgecolor
、alpha
等参数控制了直方图样式,使用了 set_xlabel()
、set_ylabel()
设置了 X 轴和 Y 轴的标签,最后使用 legend()
添加了图例。
本文介绍了如何使用 Pandas 库绘制日期直方图。我们使用 Pandas 内置数据集 tips
作为演示数据,首先将 day
列转换成 Pandas 中的 datetime
类型,然后使用 hist()
函数绘制直方图,并通过参数来控制图表的样式,最后添加图例和标签。