过滤pdelas timedeltas的数据帧

时间:2014-02-14 22:43:48

标签: python-2.7 pandas

我有一个pandas数据框,包含时间戳'到期'和'日期'。 我想过滤在到期日期和日期之间具有特定最大增量的行。 在做fr.expiration - fr.date时,我获得timedelta值,但不知道如何 获得过滤条件,如fr [timedelta(fr.expiration-fr.date)< = 60days]

2 个答案:

答案 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。