Повторять логическое сравнение для двух DataFrames? - PullRequest
0 голосов
/ 17 июня 2019

Я создал два набора DF, один со списком общих номеров, а другой со списком конкретных номеров. Я хочу перебрать первый список и сравнить его со вторым списком; если GenericList [X] равен любому числу в списке SpecificNumber, я хочу вернуть значение True, а если нет, False.

Я пытался использовать цикл if, что-то похожее на for (num <- List) print (list) if ..... </p>

scala> val genericList = List(5,6,7,8,9,10)
scala> val df = genericList.toDF
scala> val specificList = List(5,-3,8)

1 Ответ

4 голосов
/ 17 июня 2019

Попробуйте проверить с помощью функций .exists и .contains.

scala> val genericList = List(5,6,7,8,9,10)
scala> val specificList = List(5,-3,8)
scala> genericList.exists(specificList.contains)
res1: Boolean = true

In Dataframe API:

scala> val genericList = List(5,6,7,8,9,10)
scala> val df = genericList.toDF
scala> val specificList = List(5,-3,8)
scala> df.withColumn("check",'value.isin(specificList:_*)).show()
+-----+-----+
|value|check|
+-----+-----+
|    5| true|
|    6|false|
|    7|false|
|    8| true|
|    9|false|
|   10|false|
+-----+-----+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...