Вот быстрый взгляд на мой фрейм данных:
local_date amount
0 2017-08-16 10.00
1 2017-10-26 21.70
2 2017-11-04 5.00
3 2017-11-12 37.20
4 2017-11-13 10.00
5 2017-11-18 31.00
6 2017-11-27 14.00
7 2017-11-29 10.00
8 2017-11-30 37.20
9 2017-12-16 8.00
10 2017-12-17 43.20
11 2017-12-17 49.60
12 2017-12-19 102.50
13 2017-12-19 28.80
14 2017-12-22 72.55
15 2017-12-23 24.80
16 2017-12-24 62.00
17 2017-12-26 12.40
18 2017-12-26 15.50
19 2017-12-26 40.00
20 2017-12-28 57.60
21 2017-12-31 37.20
22 2018-01-01 18.60
23 2018-01-02 12.40
24 2018-01-04 32.40
25 2018-01-05 17.00
26 2018-01-06 28.80
27 2018-01-11 20.80
28 2018-01-12 10.00
29 2018-01-12 26.00
Я пытаюсь построить ежемесячную сумму транзакций, что хорошо, за исключением некрасивых x-тиков:
Я хотел бы изменить его на Название месяца и года (например, январь 2019 г.). Поэтому я сортирую даты, меняю их, используя strftime
, и вычерчиваю их снова, но порядок дат полностью запутан.
Код, который я использовал для сортировки дат и их преобразования:
transactions = transactions.sort_values(by='local_date')
transactions['month_year'] = transactions['local_date'].dt.strftime('%B %Y')
#And then groupby that column:
transactions.groupby('month_year').amount.sum().plot(kind='bar')
При этом Month_year
соединяются вместе. Январь 2019 года наступает после января 2018 года и т. Д. c. et c.
Я думал, что сортировка по дате исправит это, но это не так. Какой лучший способ подойти к этому?