df=df.groupby(pd.Grouper(key='start_date',freq='M'))
df["start_date"]=[k+" "+str(l) for k,l in list(zip(df.index.month_name(locale='ru_RU.UTF-8'),df.index.year))]
df=df.set_index("start_date")
import locale
locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
...
ticktext=[datetime.strptime(elem, "%Y-%m-%d").strftime('%d-%b-%Y %a')
for elem in df.index]
fig.update_xaxes(tickformat='%d-%b-%Y %a')
fig.update_xaxes(tickvals=df.index)
fig.update_xaxes(ticktext=ticktext)
import datetime
import locale
locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
mydate = datetime.datetime.now()
mydate.strftime("%B")
mydate.strftime("%A")
'Сентябрь'
'вторник'