У меня есть набор данных, как показано ниже:
val df = Seq(("beatles", Seq(Seq("help", "hey jude"))),
("romeo", Seq(Seq("help2", "hey judge"),Seq("help3", "they judge")))).toDF("col1", "col2")
root
|-- col1: string (nullable = true)
|-- col2: array (nullable = true)
| |-- element: array (containsNull = true)
| | |-- element: string (containsNull = true)
Я хочу добавить столбец в фрейм данных, hasHitSong
, который будет повторять последовательность хитовых песен в col2, проверьте, существует ли хитовая песня, например, для «Привет, Джуд» и отметьте его как 1, иначе 0.
| col1 | col2 | hasHitSongs |
|---------|-------------------------------------------------|-------------|
| beatles | ["help", "hey jude"] | 1 |
| romeo | [["help2", "hey judge"],["help3", "hey judge"]] | 0 |
Есть ли способ сделать это, не взрывая столбец col2 и просто повторяя вложенные массивы в столбце col2?