如何获得月份的完整拼写是在python pandas中使用日历模块?

时间:2018-01-02 12:11:18

标签: python python-3.x pandas datetime calendar

我有下表

NMonth    
01         
02
03

如果我使用以下代码(日历模块)

SMonth=df['NMonth'].apply(lambda x: calendar.month_abbr[x])

我的结果将是:

NMonth    SMonth
01         Jan
02         Feb
03         Mar

如果使用日历模块,如何获得本月的完整拼写?以下是我的愿望结果

NMonth    SMonth
01         January
02         February
03         March

2 个答案:

答案 0 :(得分:5)

使用month_name代替month_abbr

SMonth = df['NMonth'].apply(lambda x: calendar.month_name[x])

您可以在文档中找到自己的答案:https://docs.python.org/3.5/library/calendar.html#calendar.month_name

答案 1 :(得分:1)

我认为通过字典更好地使用map

months = ['January','February','March','April','May','June','July','August',
          'September','October','November','December']

d = {'{:02d}'.format(i+1):months[i] for i in range(12)}
print (d)
{'05': 'May', '01': 'January', '06': 'June', '11': 'November', 
'04': 'April', '12': 'December', '09': 'September', '08': 'August', 
'03': 'March', '07': 'July', '10': 'October', '02': 'February'}

SMonth=df['NMonth'].map(d)
print (SMonth)

0     January
1    February
2       March
Name: NMonth, dtype: object