exibite777
@exibite777
Ведущий системный аналитик

Локализация шкалы Datetime в Pandas и Plotly на русский язык. Как сделать?

Подскажите как локализовать на русский язык
1. Группировку дат в Pandas по месяцам, например, чтобы вместо "September 2020" выводилось "Сентябрь 2020"
df=df.groupby(pd.Grouper(key='start_date',freq='M'))

2. Шкалу go.Bar в Plotly аналогичным образом (там много подписей, если datetime на шкале)
5f69c7d5a15ed511718697.png
  • Вопрос задан
  • 1224 просмотра
Решения вопроса 1
exibite777
@exibite777 Автор вопроса
Ведущий системный аналитик
Для Pandas решилось таким способом (следующий шаг после группировки)
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")

Для Plotly
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)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dmshar
import datetime
import locale
locale.setlocale(locale.LC_ALL, 'ru_RU.UTF-8')
mydate = datetime.datetime.now()
mydate.strftime("%B")
mydate.strftime("%A")


Результат:
'Сентябрь'
'вторник'


Дальше делайте с ним что хотите, хоть в Plotly передавайте, хоть склонения добавляйте, хоть группируйте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы