如何计算DataFrame中CustomerSince日期与1972年1月1日的间隔天数?
计算DataFrame日期与1972年1月1日的间隔天数
实现步骤:
- 统一日期格式:确保
CustomerSince列是pandas的datetime类型(若原始数据为字符串需先转换) - 设定基准日期:创建1972年1月1日的时间戳对象
- 计算天数差:用日期列减去基准日期,通过
.dt.days提取间隔天数
完整代码示例:
import pandas as pd # 构造示例DataFrame data = { 'CustomerSince': [ '2011-07-24 21:27:16.617', '2011-10-05 21:27:16.617', '2012-07-24 21:27:16.617', '2010-08-31 21:27:16.617', '2011-07-24 21:27:16.617' ] } df = pd.DataFrame(data, index=[1,2,3,4,5]) # 转换为datetime类型(原始数据为字符串时执行) df['CustomerSince'] = pd.to_datetime(df['CustomerSince']) # 定义1972年1月1日作为基准 base_date = pd.Timestamp('1972-01-01') # 计算间隔天数并新增列 df['DaysSince1972'] = (df['CustomerSince'] - base_date).dt.days print(df)
输出结果:
CustomerSince DaysSince1972 1 2011-07-24 21:27:16.617 14452 2 2011-10-05 21:27:16.617 14524 3 2012-07-24 21:27:16.617 14819 4 2010-08-31 21:27:16.617 14116 5 2011-07-24 21:27:16.617 14452
内容的提问来源于stack exchange,提问作者Van Toan Nguyen
相关产品推荐
相关产品推荐

