gpt4 book ai didi

python - 根据 timedelta 列中的总秒数过滤 DataFrame

转载 作者:太空宇宙 更新时间:2023-11-04 01:58:32 24 4
gpt4 key购买 nike

我的 df 看起来像这样。

      date            pre_date              time_delta
0 2019-05-13 10:45:57 2019-05-13 10:45:57 00:00:00
1 2019-05-13 14:22:22 2019-05-13 10:45:57 03:36:25
2 2019-05-13 14:32:22 2019-05-13 14:22:22 00:10:00
3 2019-05-14 03:58:27 2019-05-13 14:32:22 13:26:05
4 2019-05-14 04:08:27 2019-05-14 03:58:27 00:10:00
5 2019-05-14 04:28:27 2019-05-14 04:08:27 00:20:00

我的目标是以尽可能高效的方式按“time_delta”列的值对其进行过滤。

sec = 500
df = df[(d_df['time_delta']>(pd.Timedelta(sec, unit='s'))) | ((df['time_delta']==pd.Timedelta(0, unit='s')))]

它比 for 循环工作得更好,但它仍然很慢。有什么建议吗?

最佳答案

如果“time_delta”是timedelta 类型的列,那么您可以将总秒数提取为整数(或 float )并进行比较:

delta = df['time_delta'].dt.total_seconds()
df[(delta == 0) | (delta > sec)]

关于python - 根据 timedelta 列中的总秒数过滤 DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56262346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com