2016-12-02 14 views
0

В следующем фрагменте кода я хочу сделать формат преобразования InPlace без необходимости держать другую временную переменную (DF)формат Набор DateTimeIndex при использовании TimeGroupper

df = other_df.set_index('datetime_created').groupby(pd.TimeGrouper("M")).aggregate({...complex dict...}) 
df.index = df.index.format(formatter=lambda x: x.strftime('%b %Y')) 
df.plot.bar(sharex=True, stacked=True) 
+1

Во-первых, самый главный вопрос: почему? Нет никакого позора при использовании временной переменной. – cwallenpoole

+0

Когда прототипирование и построение рисунка в Jupyter я предпочитаю работать с неизменяемыми – Fotis

ответ

0

Я думаю, вы могли бы просто отформатировать ось после построения графика? Один из примеров:

df = pd.DataFrame(np.random.rand(10,2), 
       index=pd.date_range('2005-01-01', freq='M', periods=10)) 
ax = df.plot(kind='bar', sharex=True, stacked=True) 
ax.set_xticklabels([x.strftime('%b %Y') for x in df.index]) 
plt.show() 

Result graph