Ich frage mich, ob es eine Möglichkeit gibt, zwei (oder mehr) Spalten eines PySpark Dataframe zur gleichen Zeit zu ändern. Im Moment verwende ich withColumn
, aber ich weiß nicht, ob das bedeutet, dass die Bedingung zweimal überprüft wird (was für einen großen Datenrahmen zu teuer sein kann). Dieser Code sucht im Grunde nach Werten in anderen zwei Spalten (für die gleiche Zeile) und ändert dann zwei Spalten in None/null.PySpark Dataframe: Ändern von zwei Spalten zur gleichen Zeit basierend auf der Bedingung
condition = is_special_id_udf(col("id"))) & should_hide_response_udf(col("response_created"))
new_df = df.withColumn(
"response_text",
when(condition, None)
.otherwise(col("response_text"))
)
new_df = df.withColumn(
"response_created",
when(condition, None)
.otherwise(col("response_created"))
)
teilen Sie bitte vollen Code und Beispieldaten. Ihr Code ist nicht reproduzierbar. – mtoto
brauchen Sie wirklich die Daten? Der Code funktioniert wie erwartet Ich frage mich nur, ob ein besserer Weg, um das Gleiche zu tun. – mfcabrera
Sie erstellen die gleiche Spalte zweimal, ist Ihre Frage, wie Sie das tun? – mtoto