在极坐标中使用过滤器列表

nik*_*nik 5 python-polars

有没有办法通过多个条件过滤极坐标数据帧?

这是我的用例以及我目前如何解决它,但我想知道如果我的日期列表更长,如何解决它:

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)

jqu*_*ous 8

您可以将多个条件传递给.any_horizontal()

df.filter(
   pl.any_horizontal(
      pl.col("time").is_between(*time)
      for time in timechange_forward
   )
)
Run Code Online (Sandbox Code Playgroud)