我正在尝试从数据框中删除多列。我已按照https://stackoverflow.com/a/39818645/10836338的示例进行操作,但对我而言不起作用。我正在使用Spark 2.4.0
这就是我现在正在做的事情。它确实有效,但是我想知道是否有更好的方法可以做到这一点。
val colsToRemove = Seq("colA", "colB", "colC", etc)
var filterdDF = df
for(i <- 0 until colsToRemove.size){
filterdDF = filterdDF.drop(colsToRemove(i))
}
答案 0 :(得分:5)
val filterdDF = df.drop(colsToRemove:_*)
答案 1 :(得分:-2)
you can try this...
val colsToRemove = Seq(“ emp_id”,“ emp_city”)
val filteredDF = ds1.select(ds1.columns.filter(colName => !colsToRemove.contains(colName)).map(colname => new Column(colname)).toList: _*)