Расширение DataFrame Polars с помощью картезианского продукта двух столбцовPython

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

Сообщение Anonymous »

На приведенном ниже коде показано решение, которое я обнаружил, чтобы развернуть DataFrame, чтобы включить картезианский продукт столбцов A и b , заполняя другие столбцы с значениями NULL . Мне интересно, есть ли лучший и более эффективный способ решения этого?>>> df = pl.DataFrame({'A': [0, 1, 1],
... 'B': [1, 1, 2],
... 'C': [6, 7, 8]})
>>> df
shape: (3, 3)
┌─────┬─────┬─────┐
│ A ┆ B ┆ C │
│ --- ┆ --- ┆ --- │
│ i64 ┆ i64 ┆ i64 │
╞═════╪═════╪═════╡
│ 0 ┆ 1 ┆ 6 │
│ 1 ┆ 1 ┆ 7 │
│ 1 ┆ 2 ┆ 8 │
└─────┴─────┴─────┘

>>> df.join(df.select('A').unique().join(df.select('B').unique(), how='cross'), on=['A','B'], how='right')
shape: (4, 3)
┌──────┬─────┬─────┐
│ C ┆ A ┆ B │
│ --- ┆ --- ┆ --- │
│ i64 ┆ i64 ┆ i64 │
╞══════╪═════╪═════╡
│ 6 ┆ 0 ┆ 1 │
│ null ┆ 0 ┆ 2 │
│ 7 ┆ 1 ┆ 1 │
│ 8 ┆ 1 ┆ 2 │
└──────┴─────┴─────┘


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

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

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

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

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

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

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