0
私は次のデータフレームの例を持っています。既存のPySparkデータフレームにUDFの後に新しい列を追加する
+-------+--------+--------+--------+
| data1 | data 2 | data 3 | data 4 |
+-------+--------+--------+--------+
|1 |abc |abd |3 |
+-------+--------+--------+--------+
|3 |abd |abd |3 |
+-------+--------+--------+--------+
|2 |abe |abg |2 |
Iは、例えば、2あれば3及びFalse
場合True
へのデータ4を変換するUDFを適用しています。
UDF = udf(converterFnc,StringType())
tempDF = mydata.select('data 4', UDF('data 4').alias('newdata 4'))
と、次のデータフレーム取得:
+--------+-----------+
| data 4 | newdata 4 |
+--------+-----------+
| 3 | True |
+--------+-----------+
| 2 | False |
を私は把握しようとしています私は、列の古い値と新しい値を持つ独立したデータフレームを生成するには、次のコードを使用しています
これを元のデータフレームにマージする方法を説明しますが、結合された値のすべてがデータフレーム全体の最初の値になっているjoin
を使用すると奇妙な問題が発生することがわかりました。
マイ所望の出力:
+-------+--------+--------+--------+-----------+
| data1 | data 2 | data 3 | data 4 | newdata 4 |
+-------+--------+--------+--------+-----------+
|1 |abc |abd |3 | True |
+-------+--------+--------+--------+-----------+
|3 |abd |abd |3 | True |
+-------+--------+--------+--------+-----------+
|2 |abe |abg |2 | False |
ありがとうございました!
感謝を!私の方法は単純な「True/False」分類器よりも複雑ですが、 'withColumn'メソッドを使って動作させることができました。 – Kam
クール。うれしい! – Psidom