基于日期列与字典创建Pandas增量日期列的实现方法
实现方案
以下是基于Pandas的高效实现方案,直接完成日期增量计算:
步骤1:导入库并初始化数据
import pandas as pd # 构造目标DataFrame(已有数据可跳过此步) df = pd.DataFrame({ 'Date': pd.to_datetime(['2019-01-03', '2019-05-05']), 'Periode': ['YEARS', 'MONTHS'] }) # 定义映射字典 dict_range = {"YEARS": 20.0, "MONTHS": 3.0}
步骤2:新增Range_plus列
一行代码完成核心计算:
df['Range_plus'] = df['Date'] + pd.to_timedelta(df['Periode'].map(dict_range), unit='days')
代码说明
df['Periode'].map(dict_range):通过map方法将Periode列的值与字典匹配,自动提取对应天数(兼容Float类型值)pd.to_timedelta(..., unit='days'):将提取的天数转换为Pandas可识别的时间增量对象- 直接与Date列相加,Pandas会按行自动完成日期偏移计算
验证结果
执行后打印df,将得到预期输出:
| Date | Periode | Range_plus |
|---|---|---|
| 2019-01-03 | YEARS | 2019-01-23 |
| 2019-05-05 | MONTHS | 2019-05-08 |
注意:若Date列未转换为DateTime类型,先执行
df['Date'] = pd.to_datetime(df['Date'])完成类型转换
内容的提问来源于stack exchange,提问作者Con5tantine_83
相关产品推荐
相关产品推荐

