Ich habe zwei Array-Felder in einem Datenrahmen.Vergleichen von zwei Arrays und erhalten den Unterschied in PySpark
Ich habe eine Verpflichtung, diese zwei Felder zu vergleichen und die Differenz als einen Array (neue Spalte) in dem gleichen Datenrahmen zu erhalten.
Erwarteter Ausgang ist:
Spalte B eine Teilmenge der Spalte A ist auch die Worte in der gleichen Reihenfolge in beiden Arrays sein wird.
Kann mir bitte jemand helfen, eine Lösung dafür zu bekommen?
Dank einer Tonne ags29..It war wie ein Zauber funktioniert :-) nur ein Zweifel, entfernt es die Duplikate too..Is es eine Möglichkeit, alle Werte zu halten ? – Joe
good point, ich habe die udf geändert – ags29
Nochmals vielen Dank ... Es behält die Duplikate jetzt .. :-) Ich musste eine Liste in den Befehl hinzufügen, die ich glaube, Sie vergessen zu ergänzen ... differencer = udf (lambda x, y: Liste ([elt für elt in x wenn elt nicht in y]), ArrayType (StringType())) – Joe