2017-12-08 2 views
0

Scala/Spark 심층 학습 모델을 Python/PySpark로 번역 중입니다. df를 읽은 후에는 모든 변수가 문자열 유형으로 해석됩니다. 나는 그들을 float으로 캐스팅해야합니다.파이썬/스파크 캐스트 다중 변수 - 더블 형식의 열

format_number(result['V1'].cast('float'),2).alias('V1') 

을하지만, 한 번에 모든 작업을 수행하는 방법 (31) 열 가 : 는 하나이 하나가 쉽게 이렇게, 나는 그것이 이렇게 될 거라고 생각해. 열은 "V28"을 "V1"과 "시간", "양", "클래스"이다

그것에

스칼라 솔루션은 이것이다 :

// cast all the column to Double type. 
val df = raw.select(((1 to 28).map(i => "V" + i) ++ Array("Time", "Amount", "Class")).map(s => col(s).cast("Double")): _*) 

https://github.com/intel-analytics/analytics-zoo/blob/master/apps/fraudDetection/Fraud%20Detction.ipynb

을 수행하는 방법 PySpark에서 동일합니까?

답변

1

사용 함축 :

result.select([ 
    format_number(result[c].cast('float'),2).alias(c) for c in result.columns 
])