filtered = df.filter(pl.col("Type 2") == "Psychic").select( "Name", "Type 1", "Speed", print(filtered) out = filtered.with_columns( pl.col(["Name", "Speed"]).sort_by("Speed", descending=True).over("Type 1"), pr