Конвертировать фрейм данных в формат даты - PullRequest
0 голосов
/ 16 января 2019

Я читаю SQL-запрос и использую его как столбцы данных.

    query = "SELECT count(*) as numRecords, YEARWEEK(date) as weekNum FROM events GROUP BY YEARWEEK(date)"
    df = pd.read_sql(query, connection)           

    date = df['weekNum']            
    records = df['numRecords']  

Столбец даты, представляющий собой значения типа int64, выглядит следующим образом:

...
201850
201851
201852
201901
201902
...

Как можноЯ преобразую фрейм данных в реальное значение даты (вместо int64), поэтому при построении графика ось не прерывается из-за смены года?

Я использую matplotlib.

enter image description here

1 Ответ

0 голосов
/ 16 января 2019

Все, что вам нужно сделать, это использовать:

pd.to_datetime(date,format='%Y&%W')

Отредактировано:

Было выдано сообщение об ошибке, что Day следует упомянуть, чтобы преобразовать его в datetime.Таким образом, чтобы решить, что мы добавляем «-1» в конце (что означает понедельник ... вы можете добавить любое конкретное значение от 0 до 6, где каждый представляет день).

Затем возьмите «деньнедели, используя дополнительный% w в формате, и он будет работать:

pd.to_datetime(date.apply(lambda x: str(x)+'-0'), format="%Y%W-%w")

Помните, что для выполнения любой из вышеперечисленных операций значение в кадре или серии данных даты должно быть строковым объектом.Если нет, вы можете легко конвертировать их, используя d.astype (str), а затем выполнить все эти операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...