Переформатируйте столбец Dataframe таким образом, чтобы любая числовая подстрока месяца была заменена строкой месяца.

Глядя на переформатирование строкового столбца как вызывающего ошибки в Django. Мой ДФ:

import pandas as pd   
data = {'Date_Str'['2018_11','2018_12','2019_01','2019_02','2019_03','2019_04','2019_05','2019_06','2019_07','2019_08','2019_09','2019_10',],}
df = pd.DataFrame(dict(data))
print(df)

   Date_Str
0   2018_11
1   2018_12
2   2019_01
3   2019_02
4   2019_03
5   2019_04
6   2019_05
7   2019_06
8   2019_07
9   2019_08
10  2019_09
11  2019_10

Мое решение:

df['Date_Month'] = df.Date_Str.str[-2:]
mapper = {'01':'Jan', '02':'Feb', '03':'Mar','04':'Apr','05':'May','06':'Jun','07':'Jul','08':'Aug','09':'Sep','10':'Oct','11':'Nov','12':'Dec'}
df['Date_Month_Str'] = df.Date_Str.str[0:4] + '_' + df.Date_Month.map(mapper)

print(df)

Желаемый результат - столбец Date_Month_Str или просто обновить Date_Str с помощью yyyy_mmm

   Date_Str Date_Month Date_Month_Str
0   2018_11         11       2018_Nov
1   2018_12         12       2018_Dec
2   2019_01         01       2019_Jan
3   2019_02         02       2019_Feb
4   2019_03         03       2019_Mar
5   2019_04         04       2019_Apr
6   2019_05         05       2019_May
7   2019_06         06       2019_Jun
8   2019_07         07       2019_Jul
9   2019_08         08       2019_Aug
10  2019_09         09       2019_Sep
11  2019_10         10       2019_Oct

Можно ли свести три строки в одну? Или просто обновить Date_Str одним вкладышем?

Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
1
0
41
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Преобразуйте столбец в datetimes, а затем используйте Series.dt.strftime:

df['Date_Month_Str'] = pd.to_datetime(df.Date_Str, format='%Y_%m').dt.strftime('%Y_%b')
print(df)
   Date_Str Date_Month_Str
0   2018_11       2018_Nov
1   2018_12       2018_Dec
2   2019_01       2019_Jan
3   2019_02       2019_Feb
4   2019_03       2019_Mar
5   2019_04       2019_Apr
6   2019_05       2019_May
7   2019_06       2019_Jun
8   2019_07       2019_Jul
9   2019_08       2019_Aug
10  2019_09       2019_Sep
11  2019_10       2019_Oct

Другие вопросы по теме