将月份名称和年份(例如7月15日)转换为日期-Python

时间:2020-03-03 15:05:58

标签: python pandas datetime

我的列值是这样的“ Jul-15”,“ Jun-15”等...数据类型是对象。

我想将数据类型更改为日期,并将值更改为日期。我尝试过

df["Time Period"] = df["Time Period"].apply(lambda x: datetime.strptime(x, '%m-Y'))

但是它给了我时间数据'Jul-15' does not match format '%m-Y'

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

  • 三个字母的月份名称由%b而不是%m匹配。
  • 两位数字年份用%y而不是Y
  • 匹配

在这种情况下,抛开.apply并使用矢量化的to_datetime可以提高速度:

df['Time Period'] = pd.to_datetime(df['Time Period'], format='%b-%y')

请参见strftime directives supported by pandas