Я делаю это:
import polars as pl
import sys
red_data = pl.DataFrame(
[
pl.Series("id", [0, 1, 2], dtype=pl.UInt8()),
pl.Series("red_data", [1, 0, 1], dtype=pl.UInt8()),
]
)
blue_data = pl.DataFrame(
[
pl.Series("id", [0, 2, 3], dtype=pl.UInt8()),
pl.Series("blue_data", [0, 1, 1], dtype=pl.UInt8()),
]
)
# in both red and blue
red_and_blue = red_data.join(blue_data, on=["id"])
# in red, but not blue
red_not_blue = red_data.join(blue_data, on=["id"], how="anti").with_columns(
blue_data=pl.lit(None, dtype=pl.UInt8())
)
# in blue, but not red
blue_not_red = blue_data.join(red_data, on=["id"], how="anti").with_columns(
red_data=pl.lit(None, dtype=pl.UInt8())
)
columns = ["id", "red_data", "blue_data"]
sys.displayhook(
pl.concat(
[
red_and_blue.select(columns),
red_not_blue.select(columns),
blue_not_red.select(columns),
]
)
)
shape: (4, 3)
┌─────┬──────────┬───────────┐
│ id ┆ red_data ┆ blue_data │
│ --- ┆ --- ┆ --- │
│ u8 ┆ u8 ┆ u8 │
╞═════╪══════════╪═══════════╡
│ 0 ┆ 1 ┆ 0 │
│ 2 ┆ 1 ┆ 1 │
│ 1 ┆ 0 ┆ null │
│ 3 ┆ null ┆ 1 │
└─────┴──────────┴───────────┘
Подробнее здесь: https://stackoverflow.com/questions/792 ... t-data-col
Объединение двух фреймов данных, которые имеют общие «индексные столбцы» (столбцы идентификаторов), но не столбцы данных ⇐ Python
Программы на Python
1771757891
Anonymous
Я делаю это:
import polars as pl
import sys
red_data = pl.DataFrame(
[
pl.Series("id", [0, 1, 2], dtype=pl.UInt8()),
pl.Series("red_data", [1, 0, 1], dtype=pl.UInt8()),
]
)
blue_data = pl.DataFrame(
[
pl.Series("id", [0, 2, 3], dtype=pl.UInt8()),
pl.Series("blue_data", [0, 1, 1], dtype=pl.UInt8()),
]
)
# in both red and blue
red_and_blue = red_data.join(blue_data, on=["id"])
# in red, but not blue
red_not_blue = red_data.join(blue_data, on=["id"], how="anti").with_columns(
blue_data=pl.lit(None, dtype=pl.UInt8())
)
# in blue, but not red
blue_not_red = blue_data.join(red_data, on=["id"], how="anti").with_columns(
red_data=pl.lit(None, dtype=pl.UInt8())
)
columns = ["id", "red_data", "blue_data"]
sys.displayhook(
pl.concat(
[
red_and_blue.select(columns),
red_not_blue.select(columns),
blue_not_red.select(columns),
]
)
)
shape: (4, 3)
┌─────┬──────────┬───────────┐
│ id ┆ red_data ┆ blue_data │
│ --- ┆ --- ┆ --- │
│ u8 ┆ u8 ┆ u8 │
╞═════╪══════════╪═══════════╡
│ 0 ┆ 1 ┆ 0 │
│ 2 ┆ 1 ┆ 1 │
│ 1 ┆ 0 ┆ null │
│ 3 ┆ null ┆ 1 │
└─────┴──────────┴───────────┘
Подробнее здесь: [url]https://stackoverflow.com/questions/79275860/joining-two-dataframes-that-share-index-columns-id-columns-but-not-data-col[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия