我正在将一列附加到我的 pandas 数据框中,它是两个日期之间的时间差。
df['time_diff'] = datetime.dt(2018,1,1) - df['IN_TIME']
<m8[ns]
中新列的类型。我正在尝试过滤“time_diff”大于 30 天的行,但无法比较 <m8[ns]
有一个数字。我怎样才能进行这种比较?
最佳答案
这是一种方法。请注意,您不需要使用 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'])
进行转换.
关于python - 如何比较Python pandas中的日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50688394/