Полярные поля объединяют два кадра данных, если значение столбца в другом столбцеPython

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

Сообщение Anonymous »

У меня есть два фрейма данных, которые я хотел бы объединить, если значение одного столбца содержится в другом столбце. Кадры данных выглядят следующим образом:

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

df1 = pl.DataFrame({"col1": [1, 2, 3], "col2": ["x1, x2, x3", "x2, x3", "x3"]})
df2 = pl.DataFrame({"col3": [4, 5, 6], "col4": ["x1", "x2", "x3"]})
Я пытался сделать:

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

model_data = df1.join(df2, on="col2")
Что не дает желаемого результата. Я бы хотел увидеть что-то вроде этого:

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

shape: (6, 4)
┌──────┬────────────┬──────┬──────┐
│ col1 ┆ col2       ┆ col3 ┆ col4 │
│ ---  ┆ ---        ┆ ---  ┆ ---  │
│ i64  ┆ str        ┆ i64  ┆ str  │
╞══════╪════════════╪══════╪══════╡
│ 1    ┆ x1, x2, x3 ┆ 4    ┆ x1   │
│ 1    ┆ x1, x2, x3 ┆ 5    ┆ x2   │
│ 1    ┆ x1, x2, x3 ┆ 6    ┆ x3   │
│ 2    ┆ x2, x3     ┆ 5    ┆ x2   │
│ 2    ┆ x2, x3     ┆ 6    ┆ x3   │
│ 3    ┆ x3         ┆ 6    ┆ x3   │
└──────┴────────────┴──────┴──────┘
Вопрос в том, как выполнить соединение, когда одно значение содержится в другом значении. Я не смог найти хороших примеров в документации.

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

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

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

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

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

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

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