Ich habe eine Operation, die ich in PySpark 2.0 durchführen möchten, die als df.rdd.map
einfach durchzuführen wäre, aber da würde ich lieber in der Dataframe Ausführung bleiben Ich möchte aus Leistungsgründen einen Weg finden, dies nur mit Dataframe-Operationen zu tun.Verwenden Sie Daten in Spark Datareframe Spalte als Bedingung oder Eingabe in einer anderen Spalte Ausdruck
Der Betrieb, in RDD-Stil ist, so etwas wie dieses:
def precision_formatter(row):
formatter = "%.{}f".format(row.precision)
return row + [formatter % row.amount_raw/10 ** row.precision]
df = df.rdd.map(precision_formatter)
Grundsätzlich habe ich eine Spalte, die mir sagt, für jede Zeile, was die Genauigkeit für meine Zeichenfolge sollte die Formatierung Betrieb sein, und Ich möchte die Spalte 'Betrag_Zeichnung' abhängig von dieser Genauigkeit selektiv als Zeichenfolge formatieren.