在数据框列中将对象转换为日期时间

时间:2020-03-25 12:45:58

标签: python pandas dataframe datetime

我有一个数据框,其中一列称为“升迁日期”,其中包含对象,看起来像:

 |Step-up date
0|Mar-24
1|Jul-22
2|Feb-21
etc...

3月24日代表2024年3月,所以我想知道是否有一种方法可以将该列转换为日期,因此3月24日为2024-03-01(yyyy-mm-dd)并自动将其转换为日期使其成为每个月的第一个值,以使其更容易

2 个答案:

答案 0 :(得分:1)

由于未指定日期,所以大熊猫总是添加day=1,以便正确解析。%b-%y用于格式化to_datetime中月份名称的前3个字母和年份的后2位:

df['Step-up date'] = pd.to_datetime(df['Step-up date'], format='%b-%y')
print (df)
  Step-up date
0   2024-03-01
1   2022-07-01
2   2021-02-01

答案 1 :(得分:1)

首先在年份之前添加20,然后使用pd.to_datetime:

df['Step-up date'] = df['Step-up date'].apply(lambda x: 
                                               pd.to_datetime(x.replace('-', '-20')))