首页 > 解决方案 > 如何比较python pandas中的日期差异

问题描述

我在我的 pandas 数据框中添加了一个列,即两个日期之间的时间差。

df['time_diff'] = datetime.dt(2018,1,1) - df['IN_TIME'] 

中的新列的类型<m8[ns]。我正在尝试过滤“time_diff”大于 30 天但无法<m8[ns]与数字进行比较的行。我该怎么做这个比较?

标签: pythonpandasdatetime

解决方案


这是一种方法。请注意,您不需要使用该datetime模块进行这些计算,因为 Pandas 对这些操作有一些直观的功能。

df['time_diff'] = pd.to_datetime('2018-01-01') - df['IN_TIME']

df = df[df['time_diff'].dt.days > 30]

该解决方案假设df['IN_TIME']是一个datetime系列;如果不是,您可以通过df['IN_TIME'] = pd.to_datetime(df['IN_TIME']).


推荐阅读