首页 > 解决方案 > matplotlib 中营业时间内的时间序列连续图

问题描述

我有一个熊猫数据框,其中包含大约一个月的 9:30 - 4:00 pm 的市场数据。当我使用 matplotlib 绘制它时,有与每晚市场关闭时间相对应的长平坦区域,以及周末更长的平坦区域。有没有办法告诉它只在工作时间绘制,这样平坦的区域就会消失?

编辑

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

标签: pythonpandasmatplotlib

解决方案


您可以先过滤数据。例如,如果您要在数据框中进行绘图activitydate并且df希望在不存在date时排除绘图,activity那么您可以...

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

这也利用了pandas plot 方法,它允许直接绘制数据帧。

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


推荐阅读