如何解析DataFrame中的复杂日期格式并计算日期差值?
解析自定义日期格式并计算天数差
别用手动拆分的方法了,不仅麻烦还容易出错,直接用pandas的pd.to_datetime()就能完美解决你的问题,步骤如下:
1. 解析日期列
你的日期格式是Mon, Apr 1, 2024, 09:09:48 PM,可以直接指定格式字符串让pd.to_datetime()精准解析,避免自动识别的不确定性:
import pandas as pd # 替换成你的DataFrame名称 df['创建日期'] = pd.to_datetime(df['Date created'], format="%a, %b %d, %Y, %I:%M:%S %p") df['修改日期'] = pd.to_datetime(df['Date modified'], format="%a, %b %d, %Y, %I:%M:%S %p")
格式字符串的含义:
%a:星期缩写(如Mon、Tue)%b:月份缩写(如Apr、May)%d:日期(支持1位或2位数字)%Y:4位年份%I:12小时制的小时数%M:分钟%S:秒%p:AM/PM标识
2. 计算天数差
日期列解析成datetime类型后,直接做减法,再提取整数天数即可:
df['天数差'] = (df['修改日期'] - df['创建日期']).dt.days
得到的天数差列就是你要的“xx天”结果。
为什么不推荐手动拆分?
手动用str.split()拆分后,还要自己处理月份缩写转数字、AM/PM转24小时制、日期补零等细节,步骤繁琐且容易遗漏边缘情况(比如日期是10号、月份是Dec这类缩写),完全没必要重复造轮子。
内容的提问来源于stack exchange,提问作者SK123
相关产品推荐
相关产品推荐

