我有这些数据:
import polars as pl
pl.DataFrame({
'region': ['EU', 'ASIA', 'AMER', 'Year'],
'Share': [99, 6, -30, 2020],
'Ration': [70, 4, -10, 2019],
'Lots': [70, 4, -10, 2018],
'Stake': [80, 5, -20, 2021],
})
# shape: (4, 5)
# ┌────────┬───────┬────────┬──────┬───────┐
# │ region ┆ Share ┆ Ration ┆ Lots ┆ Stake │
# │ --- ┆ --- ┆ --- ┆ --- ┆ --- │
# │ str ┆ i64 ┆ i64 ┆ i64 ┆ i64 │
# ╞════════╪═══════╪════════╪══════╪═══════╡
# │ EU ┆ 99 ┆ 70 ┆ 70 ┆ 80 │
# │ ASIA ┆ 6 ┆ 4 ┆ 4 ┆ 5 │
# │ AMER ┆ -30 ┆ -10 ┆ -10 ┆ -20 │
# │ Year ┆ 2020 ┆ 2019 ┆ 2018 ┆ 2021 │
# └────────┴───────┴────────┴──────┴───────┘
我想根据行对列进行排序Year
,同时将region
列放在第一位。所以理想情况下我正在寻找这个:
shape: (4, 5)
┌────────┬──────┬────────┬───────┬───────┐
│ region ┆ Lots ┆ Ration ┆ Share ┆ Stake │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ i64 ┆ i64 ┆ i64 ┆ i64 │
╞════════╪══════╪════════╪═══════╪═══════╡
│ EU ┆ 70 ┆ 70 ┆ 99 ┆ 80 │
│ ASIA ┆ 4 ┆ 4 ┆ 6 ┆ 5 │
│ AMER ┆ -10 ┆ -10 ┆ -30 ┆ -20 │
│ Year ┆ 2018 ┆ 2019 ┆ 2020 ┆ 2021 │
└────────┴──────┴────────┴───────┴───────┘
如何实现?我尝试使用 polarssort
函数,但无法实现我需要的功能。