如何为DataFrame添加计算当前日期与现有日期列天数差的新列
计算DataFrame日期列与当前日期的天数差值
步骤说明
- 确保日期列为datetime类型:若
LastUpdated列是字符串格式,需先转换为datetime类型,否则无法进行日期运算。 - 计算日期差值:用当前日期时间减去
LastUpdated列的日期,得到时间差对象后提取天数部分。
代码示例
先构造示例DataFrame:
import pandas as pd data = { 'LastUpdated': [ '2021-06-19 12:41:38', '2021-06-20 15:09:05', '2021-06-20 15:09:39', '2021-06-28 08:59:29', '2021-08-03 14:02:03' ] } df = pd.DataFrame(data)
执行日期转换与差值计算:
# 转换为datetime类型 df['LastUpdated'] = pd.to_datetime(df['LastUpdated']) # 添加天数差值列,命名为DaysDiff df['DaysDiff'] = (pd.Timestamp.now() - df['LastUpdated']).dt.days
补充说明
pd.to_datetime():自动识别常见日期格式,将字符串转换为pandas可处理的datetime对象。pd.Timestamp.now():获取当前系统的完整日期时间,与LastUpdated相减得到Timedelta类型的时间差。.dt.days:从Timedelta对象中提取整数类型的天数差值。
若需忽略时间部分、以当前日期0点为基准计算差值,可替换为pd.Timestamp.today()。
内容的提问来源于stack exchange,提问作者Giganoob
相关产品推荐
相关产品推荐

