Подтвердить что ты не робот

Как построить временные ряды в python

Я пытаюсь построить график временных рядов из файла CSV. Мне удалось прочитать файл и преобразовать данные из строки в дату с помощью strptime и сохранить в списке. Когда я попытался построить тестовый график в matplotlib со списком, содержащим информацию о дате, он наметил дату в виде серии точек; то есть на дату 2012-май-31 19:00, я получил сюжет с точкой в ​​2012, 05, 19, 31, 00 по оси y для значения x = 1 и так далее. Я понимаю, что это неправильный способ передачи данных даты для построения графика. Может кто-нибудь сказать мне, как правильно передать эту информацию.

4b9b3361

Ответ 1

Преобразуйте данные по оси x из текста в datetime.datetime, используйте datetime.strptime:

>>> from datetime import datetime
>>> datetime.strptime("2012-may-31 19:00", "%Y-%b-%d %H:%M")
 datetime.datetime(2012, 5, 31, 19, 0)

Это пример того, как строить данные, когда у вас есть массив datetimes:

import matplotlib.pyplot as plt
import datetime
import numpy as np

x = np.array([datetime.datetime(2013, 9, 28, i, 0) for i in range(24)])
y = np.random.randint(100, size=x.shape)

plt.plot(x,y)
plt.show()

enter image description here