我有一个pandas数据框,包含时间戳'到期'和'日期'。 我想过滤在到期日期和日期之间具有特定最大增量的行。 在做fr.expiration - fr.date时,我获得timedelta值,但不知道如何 获得过滤条件,如fr [timedelta(fr.expiration-fr.date)< = 60days]
答案 0 :(得分:2)
对于你想要比较的60天,创建一个timedelta(天= 60)的timedelta对象并将其用于过滤器。如果你已经从减法中获得timedelta对象,那么将其重新设置为timedelta似乎是不必要的。
最后,确保检查您正在比较的时间点的迹象。
答案 1 :(得分:2)
@ sashkello 谢谢,
filterfr = filterfr[filterfr.expiration-filterfr.date <= numpy.timedelta64(datetime.timedelta(days = 60))]
做了这个伎俩。
filterfr.expiration-filterfr.date
导致timedelta64值 并引发TypeError:无法将datetime.timedelta与long进行比较。 在比较工作之前转换为numpy.timedelta。