如何在查询中按字母顺序对 Polars DataFrame 的列进行排序?

问题描述 投票:0回答:1

我有一个 Polars 数据框,想要按字母顺序对列进行排序,而无需访问数据框变量。

在此示例中,我希望列顺序为 ['a','b']:

import polars as pl

df = pl.DataFrame({'b':[0,1],'a':[2,3]}) 

如果我有数据框变量,我可以这样做:

df = df.select(sorted(df.columns))

但我想在查询中执行此操作。

在执行

suffix
将具有相同根列的列放在一起之后,这一点尤其重要

(
    df
    .with_columns(
        pl.all().rank().name.suffix("_rank")
    )
)
python-polars
1个回答
4
投票

这可以通过

pipe
方法来完成:

(
    df
    .with_columns(
        pl.all().rank().name.suffix("_rank")
    )
    .pipe(
        lambda tempDf: tempDf.select( sorted(tempDf.columns) )
    )
)
© www.soinside.com 2019 - 2024. All rights reserved.