복붙노트

[HADOOP] 여러 열의 pyspark 조건 및 새 열 반환

HADOOP

여러 열의 pyspark 조건 및 새 열 반환

spark 2.1을 사용하고 스크립팅은 pyspark입니다. 내가 여기 붙어있어서 이걸 도와주세요.

문제 문 : 여러 열의 조건을 기반으로 새 열을 만들려면

입력 데이터 프레임이 아래에 있습니다.

FLG1 FLG2 FLG3

T     F     T

F     T     T

T     T     F

FLG1 == T && (FLG2 == F || FLG2 == T) FLG가 T else F (FLG2 == T) 인 경우와 같은 조건이 될 것입니다.

DF로 데이터 프레임 이상으로 간주됩니다.

시도한 내 코드 스 니펫은 다음과 같습니다.

DF.withColumn("FLG",DF.select(when(FLG1=='T' and (FLG2=='F' or FLG2=='T','F').otherwise('T'))).show()

작동하지 않았을 때 정의되지 않을 때 이름을 얻고있었습니다.

이 장애물을 건너는 걸 도와주세요.

해결법

  1. ==============================

    1.다음을 시도해보십시오.

    다음을 시도해보십시오.

    from pyspark.sql.functions import col, when, lit
    DF.withColumn("FLG", when((col("FLG1")=='T') & ((col("FLG2")=='F') | (col("FLG2")=='T')),lit('F')).otherwise(lit('T'))).show()
    
  2. from https://stackoverflow.com/questions/45845238/pyspark-conditions-on-multiple-columns-and-returning-new-column by cc-by-sa and MIT license