Я пытаюсь создать флаг в моем наборе данных на основе 2 условий, первое простое. Делает CheckingCol = CheckingCol2.
Второй более сложный. У меня есть столбец с именем TranID и столбец с именем RevID.
Для строки nay, если RevID находится в TranID, а CheckingCol = CheckingCol2, тогда флаг должен возвращать «Да». В противном случае флаг должен вернуть «Нет».
Мои данные выглядят так:
TranID RevID CheckingCol CheckingCol2
1 2 ABC ABC
2 1 ABC ABC
3 6 ABCDE ABCDE
4 3 ABCDE ABC
5 7 ABCDE ABC
Ожидаемый результат будет:
TranID RevID CheckingCol CheckingCol2 Flag
1 2 ABC ABC Yes
2 1 ABC ABC Yes
3 6 ABCDE ABCDE No
4 3 ABCDE ABC No
5 7 ABCDE ABC No
Я пытался использовать:
df.withColumn("TotalMatch", when((col("RevID").contains(col("TranID"))) & (col("CheckingColumn") == col("CheckingColumn2")), "Yes").otherwise("No"))
Но это не сработало, и я не смог найти в Интернете ничего о том, как это сделать.
Любая помощь будет отличной!