Временные ряды Python корректно обрабатывают пропущенные даты
Я использую Python 3.6 в Spyder и пытаюсь построить график с помощью автономной библиотеки. В любом случае, у меня есть некоторые пропущенные даты в моем csv-файле, и я думаю, что они вызывают проблему, которую вы можете увидеть на прикрепленном скриншоте.
Вот мой код Python:
from plotly.offline import plot
import plotly.graph_objs as go
import pandas as pd
df = pd.read_csv('H://python/final_mk_output_regression.csv')
data = [go.Scatter(
x=df.MESS_DATUM,
y=df['sum_meal'])]
plot(data)
Я не могу получить правильный график. Например, часть до мая очень сбивает с толку. У меня пропущены даты в моем csv-файле с 18 апреля по 30 апреля, что может быть причиной этой проблемы. Как я могу решить эту проблему?
1 ответ
Просто добавьте type="category" к коду. Вот так:
#PRINT DATA
data = [go.Scatter(
x=df.MESS_DATUM,
y=df['sum_meal'])]
layout = dict(
title="timeline meal orders",
xaxis = dict(
type="category"))
fig = dict(data=data, layout=layout)
plot(fig, filename="overview")
Только добавление type='category' не поможет, потому что это даст несортированные дату и время. Вам также потребуется добавить categoryorder = 'category ascending'.
Вот модифицированный код:
data = [go.Scatter(
x=df.MESS_DATUM,
y=df['sum_meal'])]
layout = dict(
title="timeline meal orders",
xaxis = dict(
type="category",
categoryorder='category ascending'))
fig = dict(data=data, layout=layout)
plot(fig, filename="overview")