Python 使用dict更改月份数据帧值

Python 使用dict更改月份数据帧值,python,dataframe,dictionary,data-cleaning,Python,Dataframe,Dictionary,Data Cleaning,我在使用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: '

我在使用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)

我做错什么了吗?或者还有其他方法吗?

您可以使用
.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