matplotlib中在工作时间内的时间序列连续图

时间:2018-10-31 13:14:05

标签: python pandas matplotlib

我有一个熊猫数据框,其中包含从9:30-4:00 pm的市场数据,持续了大约一个月。当我使用matplotlib进行绘制时,对应于每晚关闭市场的小时数有较长的平坦区域,而周末则有更长的平坦区域。有什么办法可以让我告诉它只在工作时间内进行绘制,以使平坦区域消失?

编辑

“重复答案”不是解决方案,而是一种解决方法。这甚至不是一个很好的解决方法,因为它使所有数据均匀分布而无需考虑时间戳。我想知道的是,是否存在某种日历对象,它知道我可以使用的工作时间和工作日。抱歉,我的原始帖子不太清楚。

1 个答案:

答案 0 :(得分:0)

您可以先过滤数据。例如,如果要在数据帧activity中将date相对于df绘制,而当date不存在时希望排除绘制activity,则可以...

df_activity = df[df['activity'] > 0].copy()
df_activity.plot(x='date', y='activity', kind='line')

这也利用了pandas plot method的优势,它可以直接绘制数据帧。

或者,如果有可能在营业时间内activity为零,则可以过滤掉特定的日期/时间。