#return rows that are <= 1 hour
df = df[df['timedeltas'].dt.total_seconds() < 3600]在这个查询之后,剩下的行是Timedelta(-1 days, +23:00:00)。
即使我比较pd.Timedelta(days=-1,hours=23) <= pd.Timedelta(hours=1),我也得到了True。怎么会这样?
我正在寻找一种方法来排除任何=> 1小时(01:00:00)的行。谢谢
发布于 2020-04-02 18:04:19
它们确实有-3600秒,这有点奇怪,但取决于您的0在哪里,请注意,pd.Timedelta(days=-1,hours=23)与pd.Timedelta(hours=-1)是相同的,所以如果您在午夜从01/04/2020到02/04/2020有您的起源,那么这个pd.Timedelta(days=-1,hours=23)的意思是23:00 01/04/2020,如果您想删除它们,请这样做:
df = df[(df['timedeltas'].dt.total_seconds() < 3600) & (df['timedeltas'].dt.total_seconds() >= 0)]https://stackoverflow.com/questions/60997961
复制相似问题