我需要比较不同的数据框,但是它们有一些无关的列用于比较。
我正在使用select过滤掉一些我不需要的列。 cv2.face
但是想像一下,这个选择要大得多。我在很多地方都使用它。
它正在复制代码,最重要的是它降低了可读性。
我可以将其存储到某个变量中以便更改吗
.select(col("b.start"), col("b.end")
变成这样
val remaining = difference_df.except(source_df.select(col("b.start"), col("b.end")))
答案 0 :(得分:2)
您可以这样做:
val cols = List(col("b.start"), col("b.end"))
或
val cols = List($"b.start", $"b.end")
在您选择的位置
.select(cols: _*)
希望这会有所帮助。
答案 1 :(得分:1)
val colNames = Seq("col1", "col2" ...)
val exclude = source_df.select(colNames.map(x => col(x)): _*)
val remaining = difference_df.except(exclude)