gpt4 book ai didi

python - pandas DataFrame 上的时间过滤器

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:18 25 4
gpt4 key购买 nike

我有一个 pd.DataFrame 'join3' ,其中包含多个列,如下所示:

    start   end      regstart  regend
A 01:00 03:00 02:00 02:30
B 07:00 08:00 07:30 09:00
C 12:00 13:00 15:00 17:00

现在我想过滤并仅获取间隔开始-结束与间隔 regstart-regend 相交的那些行。在上面的示例中,项目 C 将被过滤掉。

我这样做:

join4 = join3[ ((join3['regend'] > join3['start']) and (join3['regend'] < join3['end']) ) or 
((join3['regstart'] > join3['start']) and (join3['regstart'] < join3['end'])) ]

但我收到错误“ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item() a.any() 或 a.all()。

问题是什么?

最佳答案

or 更改为 |,将 and 更改为 &(按位 and and)

join4 = join3[ ((join3['regend'] > join3['start']) &
(join3['regend'] < join3['end']) ) |
((join3['regstart'] > join3['start']) &
(join3['regstart'] < join3['end'])) ]

关于python - pandas DataFrame 上的时间过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45253839/

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