有没有办法通过多个条件过滤极坐标数据帧?
这是我的用例以及我目前如何解决它,但我想知道如果我的日期列表更长,如何解决它:
dates = ["2018-03-25", "2019-03-31", "2020-03-29"]
timechange_forward = [(datetime.strptime(x+"T02:00", '%Y-%m-%dT%H:%M'), datetime.strptime(x+"T03:01", '%Y-%m-%dT%H:%M')) for x in dates]
df.filter(
pl.col("time").is_between(*timechange_forward[0]) |
pl.col("time").is_between(*timechange_forward[1]) |
pl.col("time").is_between(*timechange_forward[2])
)
Run Code Online (Sandbox Code Playgroud)
您可以将多个条件传递给.any_horizontal()
df.filter(
pl.any_horizontal(
pl.col("time").is_between(*time)
for time in timechange_forward
)
)
Run Code Online (Sandbox Code Playgroud)