我正在为我的pandas数据框添加一列,这是两个日期之间的时差。
df['time_diff'] = datetime.dt(2018,1,1) - df['IN_TIME']
<m8[ns]
中新列的类型。我正在尝试过滤'time_diff'大于30天的行,但我无法将<m8[ns]
与数字进行比较。我该怎么做这个比较?
答案 0 :(得分:2)
这是一种方式。请注意,您不需要使用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'])
转换。