我有一个CSV文件,其中一个月列的月份是写在焦vaiated形式。例如一月,二月,三月,我希望他们在一个图,即一月,二月,四月等目的完整的月份输出如何使用python或pandas格式化?我试过
df['Month'] = df['Month'].strftime('B%')
字符串和其他各种东西,但不能让它工作。
mlnl4t2r1#
你可以建立一个字典,然后map这些名字:
map
import calendar df = pd.DataFrame({'month': ['Jan', 'Feb', 'Mar']}) mapper = dict(zip(calendar.month_abbr, calendar.month_name)) df['month_long'] = df['month'].map(mapper)
字符串输出量:
month month_long 0 Jan January 1 Feb February 2 Mar March
型如果是子字符串,使用str.replace和正则表达式:
str.replace
import calendar mapper = dict(zip(calendar.month_abbr, calendar.month_name)) df['month_long'] = df['month'].str.replace(r'(%s)\b' % '|'.join(mapper), lambda m: mapper[m.group()], regex=True)
型范例:
month month_long 0 Jan 2023 January 2023 1 Feb 1st 2023 February 1st 2023 2 Mar March
型
1条答案
按热度按时间mlnl4t2r1#
你可以建立一个字典,然后
map
这些名字:字符串
输出量:
型
如果是子字符串,使用
str.replace
和正则表达式:型
范例:
型