Я использую антисоединение Polars для преобразования обновлений набора данных в «дельты». Это отлично работает, когда все значения столбца заполнены: [code]import polars as pl
my_delta = my_update.join(my_dataset, on=my_update.columns, how="anti") [/code] Однако, если один или несколько столбцов содержат значение Null, по умолчанию о совпадении не сообщается. Например: [code]my_dataset = pl.DataFrame( { "a": [1, 2, 3, 5], "b": ["x", "y", "z", pl.Null], "c": [0.1, 0.2, 0.3, 0.5], } ).lazy()
т.е. рассматривать строку, содержащую значение NULL в обеих таблицах, как совпадающую. Каковы мои варианты? Некоторые потенциальные предостережения: [list] [*]Реальные данные, с которыми я имею дело, содержат > 50 столбцов переменных типов данных. [*]Значения NULL могут встречаться (почти) в любом столбце. [*]Я бы предпочел чтобы не заполнять Null (или, если это единственный вариант, иметь возможность каким-то образом восстановить исходные Null). [/list]