Я переношу часть кода с Pandas на Polars. Я пытаюсь использовать вырез из поляров, но есть различия (нет интервала, поэтому мне приходится его вычислять).
Но я все еще не понимаю результат с меткой в полярах.
Мне приходится использовать больше меток, чем я хочу, чтобы получить тот же результат, что и панды.
import numpy as np
import pandas as pd
import polars as pl
# Exemple de DataFrame Polars
data = {
"value": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
}
df_pl = pl.DataFrame(data)
# Convertir en DataFrame Pandas pour obtenir les breakpoints
df_pd = df_pl.to_pandas()
# Use returbins to get the breakpoints (from pandas)
df_pd["cut_label_pd"], breakpoints = pd.cut(df_pd["value"], 4, labels=["low", "medium", "hight", "very high"], retbins=True)
print(pl.from_pandas(df_pd))
shape: (10, 2)
┌───────┬──────────────┐
│ value ┆ cut_label_pd │
│ --- ┆ --- │
│ i64 ┆ cat │
╞═══════╪══════════════╡
│ 1 ┆ low │
│ 2 ┆ low │
│ 3 ┆ low │
│ 4 ┆ medium │
│ 5 ┆ medium │
│ 6 ┆ hight │
│ 7 ┆ hight │
│ 8 ┆ very high │
│ 9 ┆ very high │
│ 10 ┆ very high │
└───────┴──────────────┘
print(breakpoints)
# [ 0.991 3.25 5.5 7.75 10. ]
Есть ли лучший способ? (обратите внимание на значение в метках в полярах Cut)
# Cut in polars
labels = ["don't use it", "low", "medium", "hight", "very high", "don't use it too"]
df_pl = df_pl.with_columns(
pl.col("value").cut(breaks=breakpoints, labels=labels).alias("cut_label_pl")
)
print(df_pl)
shape: (10, 2)
┌───────┬──────────────┐
│ value ┆ cut_label_pl │
│ --- ┆ --- │
│ i64 ┆ cat │
╞═══════╪══════════════╡
│ 1 ┆ low │
│ 2 ┆ low │
│ 3 ┆ low │
│ 4 ┆ medium │
│ 5 ┆ medium │
│ 6 ┆ hight │
│ 7 ┆ hight │
│ 8 ┆ very high │
│ 9 ┆ very high │
│ 10 ┆ very high │
└───────┴──────────────┘
Подробнее здесь: https://stackoverflow.com/questions/790 ... erspective
Использование Polars Cut с меткой с точки зрения Pandas ⇐ Python
Программы на Python
-
Anonymous
1761995858
Anonymous
Я переношу часть кода с Pandas на Polars. Я пытаюсь использовать вырез из поляров, но есть различия (нет интервала, поэтому мне приходится его вычислять).
Но я все еще не понимаю результат с меткой в полярах.
Мне приходится использовать больше меток, чем я хочу, чтобы получить тот же результат, что и панды.
import numpy as np
import pandas as pd
import polars as pl
# Exemple de DataFrame Polars
data = {
"value": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
}
df_pl = pl.DataFrame(data)
# Convertir en DataFrame Pandas pour obtenir les breakpoints
df_pd = df_pl.to_pandas()
# Use returbins to get the breakpoints (from pandas)
df_pd["cut_label_pd"], breakpoints = pd.cut(df_pd["value"], 4, labels=["low", "medium", "hight", "very high"], retbins=True)
print(pl.from_pandas(df_pd))
shape: (10, 2)
┌───────┬──────────────┐
│ value ┆ cut_label_pd │
│ --- ┆ --- │
│ i64 ┆ cat │
╞═══════╪══════════════╡
│ 1 ┆ low │
│ 2 ┆ low │
│ 3 ┆ low │
│ 4 ┆ medium │
│ 5 ┆ medium │
│ 6 ┆ hight │
│ 7 ┆ hight │
│ 8 ┆ very high │
│ 9 ┆ very high │
│ 10 ┆ very high │
└───────┴──────────────┘
print(breakpoints)
# [ 0.991 3.25 5.5 7.75 10. ]
Есть ли лучший способ? (обратите внимание на значение в метках в полярах Cut)
# Cut in polars
labels = ["don't use it", "low", "medium", "hight", "very high", "don't use it too"]
df_pl = df_pl.with_columns(
pl.col("value").cut(breaks=breakpoints, labels=labels).alias("cut_label_pl")
)
print(df_pl)
shape: (10, 2)
┌───────┬──────────────┐
│ value ┆ cut_label_pl │
│ --- ┆ --- │
│ i64 ┆ cat │
╞═══════╪══════════════╡
│ 1 ┆ low │
│ 2 ┆ low │
│ 3 ┆ low │
│ 4 ┆ medium │
│ 5 ┆ medium │
│ 6 ┆ hight │
│ 7 ┆ hight │
│ 8 ┆ very high │
│ 9 ┆ very high │
│ 10 ┆ very high │
└───────┴──────────────┘
Подробнее здесь: [url]https://stackoverflow.com/questions/79059121/using-polars-cut-with-label-from-a-pandas-perspective[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия