Python-Polars: сравнение структур «по строкам»Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python-Polars: сравнение структур «по строкам»

Сообщение Anonymous »

В Python-Polars я сравниваю два Pl.Struct, используя одно из полей структуры в качестве индекса. Другими словами, в приведенном ниже DataFrame я проверяю, находится ли значение для id1 (т. е. 10) во второй структуре с тем же значением, независимо от позиции:

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

shape: (1, 3)
┌───────────────────────────┬───────────────────────────┬───────────────┐
│ struct1                   ┆ struct2                   ┆ match_results │
│ ---                       ┆ ---                       ┆ ---           │
│ struct[2]                 ┆ struct[2]                 ┆ list[bool]    │
╞═══════════════════════════╪═══════════════════════════╪═══════════════╡
│ {["id1", "id2"],[10, 20]} ┆ {["id4", "id1"],[10, 10]} ┆ [true, false] │
└───────────────────────────┴───────────────────────────┴───────────────┘
Я могу добиться этого, используя map_elements:

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

def compare_structs(struct1, struct2):
ids1, vals1 = struct1["identifiers"], struct1["values"]
ids2, vals2 = struct2["identifiers"], struct2["values"]
return [
any(id1 == id2 and val1 == val2 for id2, val2 in zip(ids2, vals2))
for id1, val1 in zip(ids1, vals1)
]

df.with_columns(
pl.struct(["struct1", "struct2"])
.map_elements(lambda s: compare_structs(s["struct1"], s["struct2"]))
.alias("match_results")
)

Но это решение крайне неэффективно. Есть ли у вас какие-либо предложения о том, как его улучшить, сохраняя при этом выражения в едином контексте?


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Python-Polars: сравнение структур «по строкам»
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Сравнение структур на равенство без упаковки
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Скалярное произведение по строкам в Polars
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Скалярное произведение по строкам в Polars
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Скалярное произведение по строкам в Polars
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous

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