Санитарная обработка временных рядов, на графиках которых показаны ошибочные линии графика - PullRequest
0 голосов
/ 23 октября 2019

Я хочу построить график времени, мои даты отформатированы как день / месяц / год.

При создании индекса я позабочусь об этом:

# format Date
test['DATA'] = pd.to_datetime(test['DATA'], format='%d/%m/%Y')
test.set_index('DATA', inplace=True)

и с двойнымпроверьте, что месяцы и дни правильно истолкованы:

#the number of month reflect the month, not the day : correctly imported!
test['Year'] = test.index.year
test['Month'] = test.index.month   
test['Weekday Name'] = test.index.weekday_name

Однако, когда я строю график, я вижу, что точки данных связаны беспорядочно (хотя их распределение кажется правильным, так как я ожидаю сезонность):

# Start and end of the date range to extract
start, end = '2018-01', '2018-04'

# Plot daily, weekly resampled, and 7-day rolling mean time series together

fig, ax = plt.subplots()
ax.plot(test.loc['2018', 'TMIN °C'],
marker='.', linestyle='-', linewidth=0.5, label='Daily')

Я подозреваю, что это может быть связано с неверно истолкованными датами или с тем, что даты не указаны в правильной последовательности, но не может найти способ проверить, где может быть ошибка.

Не могли бы выпомогите проверить, как правильно импортировать мои временные ряды?

enter image description here

1 Ответ

0 голосов
/ 23 октября 2019

О, это было супер просто. Я предположил, что дата и время были автоматически отсортированы, вместо этого нужно отсортировать:

test.loc['2018-01':'2018-03'].sort_index().index #sorted
test.loc['2018-01':'2018-03'].index #not sorted

Этот вопрос может быть удален или помечен как дубликат, я позволю его модераторам:

Панды - Сортировкафрейм данных с использованием datetimeindex

...