代码之家  ›  专栏  ›  技术社区  ›  Della

Polars在对列进行重复数据消除后是否保证能维持秩序?

  •  1
  • Della  · 技术社区  · 1 年前
    守则
    import polars as pl
    ...
    # Sort by date, then pick the first row for each UID (earliest date)
    sample_frame=sample_frame.sort(by=DATE_COL).unique(subset=UID_COL, keep='first')
    
    问题

    我希望在上面的操作之后得到的帧按照日期的顺序排序,但似乎不是这样。

    那么,重复数据消除操作是否也会打乱其余行的顺序呢?polars文档或其维护人员是否对调用后的行排序提供任何保证 unique ?

    1 回复  |  直到 1 年前
        1
  •  1
  •   roman    1 年前

    Polars默认情况下不会保持顺序,因为这需要更多的计算。如果需要,可以使用 maintain_order 的参数 unique() 方法

    维护订单

    保持与原始DataFrame相同的顺序。这更贵 计算。将其设置为True将阻止在上运行的可能性 流引擎。

    sample_frame = (
        sample_frame
        .sort(by=DATE_COL)
        .unique(subset=UID_COL, keep='first', maintain_order=True)
    )