Python Pandas:将减去两个日期的timedelta值转换为整数数据类型(AttributeError)

时间:2018-10-17 23:34:05

标签: python pandas integer division timedelta

我有以下数据集输出(如下所示),它是由以下代码产生的:

df_EVENT5_5['dtin'] = pd.to_datetime(df_EVENT5_5['dtin'])
df_EVENT5_5['age'] = df_EVENT5_5['dtin'].apply(dt.datetime.date) - df_EVENT5_5['dtbuilt'].apply(dt.datetime.date)

id  age
1   6252 days, 0:00:00
2   1800 days, 0:00:00
3   5873 days, 0:00:00

在上述数据集中,在数据框上运行dtypes之后,age似乎是一个对象。

我想将“ age”列转换为仅具有天数的整数数据类型。下面是我想要的输出:

id  age
1   6252 
2   1800 
3   5873 

我尝试了以下代码:

df_EVENT5_5['age_no_days'] = df_EVENT5_5['age'].dt.total_seconds()/ (24 * 60 * 60) 

以下是错误:

AttributeError:只能使用具有datetimelike值的.dt访问器

1 个答案:

答案 0 :(得分:1)

您正在获取对象列的事实向我表明有些值不能解释为正确的时间增量。如果是这种情况,我可以将var my_veriable = $('#your_select2_id').select2().val(); var my_last_veriable = my_veriable.toString(); 与参数pd.to_timedelta一起使用,然后调用errors='coerce'

dt.days