2016-10-12 2 views
2

У меня есть набор данных, который выглядит следующим образом:pandas: Как правильно отформатировать метки оси timestamp в df.plt()?

  prod_code  month items  cost 
0 040201060AAAIAI 2016-05-01  5 572.20 
1 040201060AAAKAK 2016-05-01 164 14805.19 
2 040201060AAALAL 2016-05-01 13465 14486.07 

Doing df.dtypes показывает, что month столбец является datetime64[ns] типа.

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

df[df.bnf_code=='040201060AAAIAI'][['month', 'cost']].plot() 
plt.show() 

Это работает, но ось х не отметка времени, как я бы ожидать:

enter image description here

Как можно легко отформатировать ярлыки оси х, с метками месяца и года?

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

df[df.bnf_code=='040201060AAAIAI'].plot.bar(x='month', y='cost', title='Spending on 040201060AAAIAI') 

ответ

2

Если вы установите даты как индекс, ось х должна быть маркированы правильно:

df[df.bnf_code=='040201060AAAIAI'][['month', 'cost']].set_index('month').plot() 

Я просто добавил set_index в свой код.

Смежные вопросы