#python #dataframe #dictionary #data-cleaning
#python #фрейм данных #словарь #очистка данных
Вопрос:
У меня возникли проблемы с использованием dict для замены значений в фрейме данных.
m= { 'january': 1, 'february': 2, 'march': 3, 'april': 4, 'may': 5,'june': 6,'july': 7,
'august': 8, 'september': 9, 'october': 10, 'november': 11, 'december': 12}
df = pd.DataFrame({'place': {0: 'canada', 1: 'canada', 2: 'the united states'}, 'time': {0: 'february 11, 2018', 1: 'december 9, 2017', 2: 'january 18, 2018'}})
place time
0 canada february 11, 2018
1 canada december 9, 2017
2 the united states january 18, 2018
Я хочу изменить только названия месяцев на и я пробовал .replace и .map методы, но ничего не меняется
dftp2.replace({'time': m })
dftp2['time'].map(m)
я сделал что-то не так или есть какие-либо другие способы сделать это?
Ответ №1:
Вы можете использовать .dt.strftime()
для преобразования дат:
df['time'] = pd.to_datetime(df['time']).dt.strftime('%-m %d, %Y')
print(df)
С принтами:
place time
0 canada 2 11, 2018
1 canada 12 09, 2017
2 the united states 1 18, 2018