1
데이터의 주어진 열 (이 경우 문자열)을 변환하여 숫자로 변환하는 방법을 찾고 있습니다. 예를 들어, 내가 값을 문자열 dataframe 있습니다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)
그러나이 값은 "없음"유형을 반환합니다. 생각? 언제나처럼 도와 줘서 고마워!