Почему приведение столбца с числовым категориальным типом данных к целому числу в Polars приводит к неожиданному поведенPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему приведение столбца с числовым категориальным типом данных к целому числу в Polars приводит к неожиданному поведен

Сообщение Anonymous »

У меня есть категориальный столбец с именем decile в моем Polars DataFrame df со значениями в диапазоне от «01» до «10». При попытке преобразовать этот столбец в числовое представление с помощью:

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

df.with_columns(pl.col('decile').cast(pl.Int8))
, приведенные значения не сопоставляются должным образом (т. е. «01» не сопоставляется с 1 и т. д.), а диапазон теперь также от 0 до 9, а не от 1 до 10.
Странно то, что какими бы ни были исходные значения дециля столбца, они всегда будут неожиданно сопоставляться с [0, 9] при приведении к целочисленному типу данных. .
Я пытаюсь преобразовать значения в целочисленный тип данных для построения графиков.
Вот минимальный воспроизводимый пример:

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

size = 1e3
df = pl.DataFrame({
"id": np.random.randint(50, size=int(size), dtype=np.uint16),
"amount": np.round(np.random.uniform(10, 100000, int(size)).astype(np.float32), 2),
"quantity": np.random.randint(1, 7, size=int(size), dtype=np.uint16),
})
df = (df
.group_by("id")
.agg(revenue=pl.sum("amount"), tot_quantity=pl.sum("quantity"))
)
df = (df.with_columns(
pl.col('revenue')
.qcut(10, labels=[f'q{i:02}' for i in range(10, 0, -1)])
.alias("decile")
))
Как добиться правильного приведения (как и следовало ожидать, значения будут сопоставлены) и находиться в том же диапазоне, что и исходные значения?


Подробнее здесь: https://stackoverflow.com/questions/769 ... ger-in-pol
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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