1
データの特定の列(この場合は文字列)を変換し、数値表現に変換する方法を探しています。例えば、私は値を持つ文字列のデータフレームがありますPyspark Dataframe - 文字列を数値にマップする
+------------+
| level |
+------------+
| Medium|
| Medium|
| Medium|
| High|
| Medium|
| Medium|
| Low|
| Low|
| High|
| Low|
| Low|
をそして私は、これらの値をに変換します新しい列を作成したい:私は関数を定義しようとした
"High"= 1, "Medium" = 2, "Low" = 3
+------------+
| level_num|
+------------+
| 2|
| 2|
| 2|
| 1|
| 2|
| 2|
| 3|
| 3|
| 1|
| 3|
| 3|
をこのようにデータフレーム上でforeachを実行すると、次のようになります。
def f(x):
if(x == 'Medium'):
return 2
elif(x == "Low"):
return 3
else:
return 1
a = df.select("level").rdd.foreach(f)
しかし、これは "None"型を返します。思考?いつものように助けてくれてありがとう!