Python Polars, кодирующие непрерывные переменные из точек останова в другом раме данныхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Polars, кодирующие непрерывные переменные из точек останова в другом раме данных

Сообщение Anonymous »

Данные точек останова следующие: < /p>

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

breakpoints = pl.DataFrame(
{
"features": ["feature_0", "feature_0", "feature_1"],
"breakpoints": [0.1, 0.5, 1],
"n_possible_bins": [3, 3, 2],
}
)
print(breakpoints)
out:
shape: (3, 3)
┌───────────┬─────────────┬─────────────────┐
│ features  ┆ breakpoints ┆ n_possible_bins │
│ ---       ┆ ---         ┆ ---             │
│ str       ┆ f64         ┆ i64             │
╞═══════════╪═════════════╪═════════════════╡
│ feature_0 ┆ 0.1         ┆ 3               │
│ feature_0 ┆ 0.5         ┆ 3               │
│ feature_1 ┆ 1.0         ┆ 2               │
└───────────┴─────────────┴─────────────────┘
df имеет две непрерывные переменные, которые мы хотим кодировать в соответствии с точками останова dataFrame:

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

df = pl.DataFrame(
{"feature_0": [0.05, 0.2, 0.6, 0.8], "feature_1": [0.5, 1.5, 1.0, 1.1]}
)
print(df)
out:
shape: (4, 2)
┌───────────┬───────────┐
│ feature_0 ┆ feature_1 │
│ ---       ┆ ---       │
│ f64       ┆ f64       │
╞═══════════╪═══════════╡
│ 0.05      ┆ 0.5       │
│ 0.2       ┆ 1.5       │
│ 0.6       ┆ 1.0       │
│ 0.8       ┆ 1.1       │
└───────────┴───────────┘
После кодирования мы должны иметь полученный данных DataFrame encoded_df :

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

encoded_df = pl.DataFrame({"feature_0": [0, 1, 2, 2], "feature_1": [0, 1, 0, 1]})

print(encoded_df)
out:
shape: (4, 2)
┌───────────┬───────────┐
│ feature_0 ┆ feature_1 │
│ ---       ┆ ---       │
│ i64       ┆ i64       │
╞═══════════╪═══════════╡
│ 0         ┆ 0         │
│ 1         ┆ 1         │
│ 2         ┆ 0         │
│ 2         ┆ 1         │
└───────────┴───────────┘
[*] Мы можем предположить, что уникальный список функций в кодировании_df также доступен в точках останова
Метки должны быть массивом: np.array ([str (i) для i в диапазоне (n_possible_bins)]]) , предполагая n_possible_bins Положительное целое число. n_possible_bins может отличаться по функциями. /li>
< /ol>
Я знаю, что polars.expr.cut () принимает параметр перерывов < /code> как Последовательность [float] , но как я могу эффективно передать эти точки останова и метки с точек останова DataFrame?


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

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

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

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

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

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

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