У меня есть DataFrame, подобный этому.
Name City Name_index City_index
Ali lhr 2.0 0.0
abc swl 0.0 2.0
xyz khi 1.0 1.0
Я хочу отбросить столбцы, которые не содержат строку, например "index".
Ожидаемый результат должен быть таким:
Name_index City_index
2.0 0.0
0.0 2.0
1.0 1.0
Я пробовал это.
val cols = newDF.columns
val regex = """^((?!_indexed).)*$""".r
val selection = cols.filter(s => regex.findFirstIn(s).isDefined)
cols.diff(selection)
val res =newDF.select(selection.head, selection.tail : _*)
res.show()
Но я получаю это:
Name City
Ali lhr
abc swl
xyz khi