Как получить значение указанного индексного номера в результате сортировки столбца и заполнить его нулевым значением, есPython

Программы на Python
Ответить
Гость
 Как получить значение указанного индексного номера в результате сортировки столбца и заполнить его нулевым значением, ес

Сообщение Гость »

Код: Выделить всё

import polars as pl

df = pl.DataFrame(
{"name": list("abcdef"), "age": [21, 31, 32, 53, 45, 26], "country": list("AABBBC")}
)

df.group_by("country").agg(
pl.col("name").sort_by("age").first().alias("age_sort_1"),
pl.col("name").sort_by("age").get(2).alias("age_sort_2"),  # OutOfBoundsError: index out of bounds
# pl.col("name").sort_by("age").arr.get(2, null_on_oob=True).alias("age_2"),
# SchemaError: invalid series dtype: expected `FixedSizeList`, got `str`
pl.col("name").sort_by("age").last().alias("age_sort_-1")
)
Как показано в приведенном выше коде, я хочу получить имя в каждой стране, возраст которой указан в определенном порядке.
Однако Expr.get не предоставляет параметр null_on_oob. Как автоматически заполнять значение null при возникновении ситуации выхода за границы?
Кроме того, метод .arr.get предоставляет параметр null_on_oob, но сообщает об ошибке SchemaError: недопустимая серия dtype: ожидается «FixedSizeList», получено «str». Я не знаю, к чему относится эта ошибка и как ее решить.
ps: В приведенном выше коде используется повторяющийся код pl.col("name").sort_by("возраст") много раз. Есть ли более краткий метод?

Подробнее: https://stackoverflow.com/questions/788 ... -column-an
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»