使用Pandas在Python中绘制时间数据的分布

使用Pandas在Python中绘制时间数据的分布,python,pandas,datetime,histogram,Python,Pandas,Datetime,Histogram,我有一个熊猫数据框,里面有一些时间数据 08:00am 上午1时08分15分 凌晨2时08分30分 上午3:7:45 上午4:7:30 这样的行总共有660行(datatype-String)。我想绘制此列的分布(直方图)。我该怎么做?另外,一些行只是一个空字符串(缺少数据),所以我在打印时也必须处理它。处理这个问题的最佳方法是什么 我曾尝试使用pandas.to_datetime()将字符串转换为时间戳,但在此之后,我仍在研究如何绘制这些时间戳和丢失数据的分布。假设您拥有所谈论的数据帧,并且

我有一个熊猫数据框,里面有一些时间数据

08:00am
上午1时08分15分
凌晨2时08分30分
上午3:7:45
上午4:7:30
这样的行总共有660行(datatype-String)。我想绘制此列的分布(直方图)。我该怎么做?另外,一些行只是一个空字符串(缺少数据),所以我在打印时也必须处理它。处理这个问题的最佳方法是什么


我曾尝试使用
pandas.to_datetime()
将字符串转换为时间戳,但在此之后,我仍在研究如何绘制这些时间戳和丢失数据的分布。

假设您拥有所谈论的数据帧,并且能够转换为pandas datetime对象:

import pandas as pd
df = pd.DataFrame(['8:00 AM', '8:15 AM', '08:30 AM', '', '7:45 AM','7:45 AM'], columns = ['time'])

df.time = pd.to_datetime(df.time)
df看起来像这样:

time
0   2019-08-16 08:00:00
1   2019-08-16 08:15:00
2   2019-08-16 08:30:00
3   NaT
4   2019-08-16 07:45:00
5   2019-08-16 07:45:00
我会分秒必争

df.groupby([df['time'].dt.hour,df['time'].dt.minute]).count().plot(kind=“bar”)


您希望如何将它们分组?您的分发时间间隔是多少?同一天的全部数据(全部660行)是吗?日期不相关,它是一些不同机构的开始时间数据。我想按小时频率绘制它,例如上午7-8点、上午8-9点、上午9-10点等等