TypeError:无法将datetimelike从[datetime64[ns]]键入到[timedelta64[D]]

2024-04-20 16:06:33 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我试图计算两天之间的持续时间,但我只需要天数,而不是持续时间的分钟和秒数。我使用的代码如下所示:

df['duration']=df['deadline'].sub(df['created_at'].astype('datetime64[D]'))

然而,这给了我类似的东西:35天12:42:40。但是我不想要“days 12:42:40”。相反,我想要提取35作为整数。所以我试着用[timedelta64[D]替换datetime64[D],这给了我一个TypeError。我有什么方法可以这样做吗


Tags: 代码df整数daysat持续时间durationcreated
1条回答
网友
1楼 · 发布于 2024-04-20 16:06:33

解决这个问题最简单的方法是将两个序列相减,然后访问序列上的datetime accessor来检索天数

下面是一个简单的例子

df = pd.DataFrame({
    'deadline': pd.date_range(start='2020-03-01', end='2020-03-05', periods=5),
    'created_date': pd.date_range(start='2020-01-01', end='2020-01-9', periods=5)
})

df['duration'] = (df.deadline - df.created_date).dt.days

相关问题 更多 >