将对象转换为数据框列中的日期时间[重复]
Posted
技术标签:
【中文标题】将对象转换为数据框列中的日期时间[重复]【英文标题】:turning objects into datetime in data frame column [duplicate] 【发布时间】:2020-07-06 00:23:37 【问题描述】:我有一个数据框,其中一列称为“升级日期”,其中包含对象,它看起来像:
|Step-up date
0|Mar-24
1|Jul-22
2|Feb-21
etc...
Mar-24 代表 2024 年 3 月,所以我想知道是否有办法将该列转换为日期,所以 Mar-24 将是 2024-03-01 (yyyy-mm-dd) 并自动拥有它成为每个值的每月 1 号以使其更容易
【问题讨论】:
【参考方案1】:先在年份前加20,再用pd.to_datetime:
df['Step-up date'] = df['Step-up date'].apply(lambda x:
pd.to_datetime(x.replace('-', '-20')))
【讨论】:
【参考方案2】:由于没有指定日期,pandas 总是添加 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
【讨论】:
以上是关于将对象转换为数据框列中的日期时间[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Pandas:如何将数据框列中的“时间戳”值从对象/字符串转换为时间戳?
在新的 pandas 数据框列中计算日期时间差(以年、月等为单位)