Как мне построить данные временных рядов по неделям и годам? - PullRequest
0 голосов
/ 17 октября 2018

У меня есть простой фрейм данных временного ряда («кошки»).Сделки по годам и неделям.Мне просто нужен линейный график с осью года и недели.

    year    week    transactions
0   2013    25      1824
1   2013    26      1876392
2   2013    27      2048913
3   2013    28      2060043
4   2013    29      1864779
5   2013    30      1844886
6   2013    31      2089084
7   2013    32      2017478
8   2013    33      1927819
9   2013    34      1965046

Я могу заставить линию работать здесь, но это только графики против индекса

plt.plot(cats['total_sales'])

enter image description here

Но когда я пытаюсь добавить ось, происходит нечто подобное

plt.plot(cats['year'],cats['total_sales'])

enter image description here

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Вы можете создать столбец правильных дат из номера года и недели:

# %U assumes Monday as first day of the week. Use %W for Sunday
cats['week_yr'] = pd.to_datetime(cats['year'].astype(str) + ' ' + cats['week'].astype(str) + ' 1',
                                format='%Y %U %w')

Тогда вы можете сделать:

cats.plot.line(x='week_yr', y='transactions')

И получить:

enter image description here

0 голосов
/ 17 октября 2018

использование plt.xticks

x = range(len(cats['total_sales']))
plt.plot(x, cats['total_sales'])
plt.xticks(x, zip(cats['year'], cats['week']))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...