Я так старался с ChatGPT, но у меня не получилось, и он тоже не смог решить эту проблему. Как мне назначить или увеличить набор значений с помощью логической маски? Это то, что я делал с пандами.
validation_predictions = model.predict(validation_dataset)
df.loc[validation_mask, 'prediction'] += validation_predictions / len(seeds)
validation_mask имеет N число True, а validation_predictions представляет собой массив numpy размером N, поэтому подобное присваивание работает нормально. Однако мне не удалось добиться того же с полярами.
Я попробовал цепочку «когда/то/иначе», но она выдает ошибку, поскольку размер validation_predictions не соответствует размеру всего кадра данных.
df = df.with_columns(
pl.when(validation_mask)
.then(pl.col('prediction') + (validation_predictions / len(seeds)))
.otherwise(pl.col('prediction'))
.alias('prediction')
)
# ShapeError: cannot evaluate two Series of different lengths (6 and 5)
В целях воспроизводимости:
import polars as pl
import numpy as np
seeds = [42, 1337, 0]
df = pl.DataFrame({
"some_column": [10, 20, 30, 40, 50, 60],
"prediction": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
})
validation_mask = df["some_column"] > 15
validation_predictions = np.array([0.5, 1.5, 2.5, 3.5, 4.5])
Ожидаемый результат:
shape: (6, 2)
┌─────────────┬────────────┐
│ some_column ┆ prediction │
│ --- ┆ --- │
│ i64 ┆ f64 │
╞═════════════╪════════════╡
│ 10 ┆ 1.0 │
│ 20 ┆ 2.166667 │
│ 30 ┆ 3.5 │
│ 40 ┆ 4.833333 │
│ 50 ┆ 6.166667 │
│ 60 ┆ 7.5 │
└─────────────┴────────────┘
Подробнее здесь: https://stackoverflow.com/questions/791 ... ized-array
Полярная арифметическая операция с использованием логической маски и массива разного размера ⇐ Python
Программы на Python
1762209647
Anonymous
Я так старался с ChatGPT, но у меня не получилось, и он тоже не смог решить эту проблему. Как мне назначить или увеличить набор значений с помощью логической маски? Это то, что я делал с пандами.
validation_predictions = model.predict(validation_dataset)
df.loc[validation_mask, 'prediction'] += validation_predictions / len(seeds)
validation_mask имеет [b]N[/b] число True, а validation_predictions представляет собой массив numpy размером [b]N[/b], поэтому подобное присваивание работает нормально. Однако мне не удалось добиться того же с полярами.
Я попробовал цепочку «когда/то/иначе», но она выдает ошибку, поскольку размер validation_predictions не соответствует размеру всего кадра данных.
df = df.with_columns(
pl.when(validation_mask)
.then(pl.col('prediction') + (validation_predictions / len(seeds)))
.otherwise(pl.col('prediction'))
.alias('prediction')
)
# ShapeError: cannot evaluate two Series of different lengths (6 and 5)
В целях воспроизводимости:
import polars as pl
import numpy as np
seeds = [42, 1337, 0]
df = pl.DataFrame({
"some_column": [10, 20, 30, 40, 50, 60],
"prediction": [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
})
validation_mask = df["some_column"] > 15
validation_predictions = np.array([0.5, 1.5, 2.5, 3.5, 4.5])
Ожидаемый результат:
shape: (6, 2)
┌─────────────┬────────────┐
│ some_column ┆ prediction │
│ --- ┆ --- │
│ i64 ┆ f64 │
╞═════════════╪════════════╡
│ 10 ┆ 1.0 │
│ 20 ┆ 2.166667 │
│ 30 ┆ 3.5 │
│ 40 ┆ 4.833333 │
│ 50 ┆ 6.166667 │
│ 60 ┆ 7.5 │
└─────────────┴────────────┘
Подробнее здесь: [url]https://stackoverflow.com/questions/79144738/polars-arithmetic-operation-using-a-boolean-mask-and-different-sized-array[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия