-
Anonymous
Сортировка столбцов данных Polars Dataframe на основе данных строки
Сообщение
Anonymous »
У меня есть эти данные:
Код: Выделить всё
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 │
# └────────┴───────┴────────┴──────┴───────┘
Я хочу упорядочить столбцы на основе строки «Год», оставив сначала столбец «Регион». В идеале я ищу вот это:
Код: Выделить всё
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 │
└────────┴──────┴────────┴───────┴───────┘
Как этого можно достичь? Я пробовал использовать функцию сортировки поляров, но не смог заставить ее делать то, что мне нужно.
Подробнее здесь:
https://stackoverflow.com/questions/792 ... n-row-data
1732722431
Anonymous
У меня есть эти данные:
[code]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 │
# └────────┴───────┴────────┴──────┴───────┘
[/code]
Я хочу упорядочить столбцы на основе строки «Год», оставив сначала столбец «Регион». В идеале я ищу вот это:
[code]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 │
└────────┴──────┴────────┴───────┴───────┘
[/code]
Как этого можно достичь? Я пробовал использовать функцию сортировки поляров, но не смог заставить ее делать то, что мне нужно.
Подробнее здесь: [url]https://stackoverflow.com/questions/79227473/sort-polars-dataframe-columns-based-on-row-data[/url]