Мне интересно, есть ли способ обработать условное присваивание в кадре данных Polars без использования связанных с numpy.
import polars as pl
import numpy as np
df = pl.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'C'],
'conference': ['East', 'East', 'East', 'West', 'West', 'East'],
'points': [11, 8, 10, 6, 6, 5],
'rebounds': [7, 7, 6, 9, 12, 8]})
shape: (6, 4)
┌──────┬────────────┬────────┬──────────┐
│ team ┆ conference ┆ points ┆ rebounds │
│ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ i64 ┆ i64 │
╞══════╪════════════╪════════╪══════════╡
│ A ┆ East ┆ 11 ┆ 7 │
│ A ┆ East ┆ 8 ┆ 7 │
│ A ┆ East ┆ 10 ┆ 6 │
│ B ┆ West ┆ 6 ┆ 9 │
│ B ┆ West ┆ 6 ┆ 12 │
│ C ┆ East ┆ 5 ┆ 8 │
└──────┴────────────┴────────┴──────────┘
Используя numpy, мы могли бы сделать:
conditions = [
df['points'].le(6) & df['rebounds'].le(9),
df['points'].gt(10) & df['rebounds'].gt(6)
]
choicelist = ['Bad','Good']
df.with_columns(rating = np.select(conditions, choicelist, 'Aveg'))
shape: (6, 5)
┌──────┬────────────┬────────┬──────────┬────────┐
│ team ┆ conference ┆ points ┆ rebounds ┆ rating │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ i64 ┆ i64 ┆ str │
╞══════╪════════════╪════════╪══════════╪════════╡
│ A ┆ East ┆ 11 ┆ 7 ┆ Good │
│ A ┆ East ┆ 8 ┆ 7 ┆ Aveg │
│ A ┆ East ┆ 10 ┆ 6 ┆ Aveg │
│ B ┆ West ┆ 6 ┆ 9 ┆ Bad │
│ B ┆ West ┆ 6 ┆ 12 ┆ Aveg │
│ C ┆ East ┆ 5 ┆ 8 ┆ Bad │
└──────┴────────────┴────────┴──────────┴────────┘
Подробнее здесь: https://stackoverflow.com/questions/741 ... assignment
Есть ли у Polars эквивалент numpy `select` для условного присвоения? ⇐ Python
Программы на Python
1762096365
Anonymous
Мне интересно, есть ли способ обработать условное присваивание в кадре данных Polars без использования связанных с numpy.
import polars as pl
import numpy as np
df = pl.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'C'],
'conference': ['East', 'East', 'East', 'West', 'West', 'East'],
'points': [11, 8, 10, 6, 6, 5],
'rebounds': [7, 7, 6, 9, 12, 8]})
shape: (6, 4)
┌──────┬────────────┬────────┬──────────┐
│ team ┆ conference ┆ points ┆ rebounds │
│ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ i64 ┆ i64 │
╞══════╪════════════╪════════╪══════════╡
│ A ┆ East ┆ 11 ┆ 7 │
│ A ┆ East ┆ 8 ┆ 7 │
│ A ┆ East ┆ 10 ┆ 6 │
│ B ┆ West ┆ 6 ┆ 9 │
│ B ┆ West ┆ 6 ┆ 12 │
│ C ┆ East ┆ 5 ┆ 8 │
└──────┴────────────┴────────┴──────────┘
Используя numpy, мы могли бы сделать:
conditions = [
df['points'].le(6) & df['rebounds'].le(9),
df['points'].gt(10) & df['rebounds'].gt(6)
]
choicelist = ['Bad','Good']
df.with_columns(rating = np.select(conditions, choicelist, 'Aveg'))
shape: (6, 5)
┌──────┬────────────┬────────┬──────────┬────────┐
│ team ┆ conference ┆ points ┆ rebounds ┆ rating │
│ --- ┆ --- ┆ --- ┆ --- ┆ --- │
│ str ┆ str ┆ i64 ┆ i64 ┆ str │
╞══════╪════════════╪════════╪══════════╪════════╡
│ A ┆ East ┆ 11 ┆ 7 ┆ Good │
│ A ┆ East ┆ 8 ┆ 7 ┆ Aveg │
│ A ┆ East ┆ 10 ┆ 6 ┆ Aveg │
│ B ┆ West ┆ 6 ┆ 9 ┆ Bad │
│ B ┆ West ┆ 6 ┆ 12 ┆ Aveg │
│ C ┆ East ┆ 5 ┆ 8 ┆ Bad │
└──────┴────────────┴────────┴──────────┴────────┘
Подробнее здесь: [url]https://stackoverflow.com/questions/74122921/does-polars-have-a-numpy-select-equivalent-for-conditional-assignment[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия