Предположим, у меня есть последовательность столбцов, и у меня также есть последовательность одинаковой длины, соответствующей определенному значению для каждого столбца.
Я хочу отфильтровать кадр данных, когда каждый столбец равен его соответствующемузначение в seq.
Циклы по столбцам и итеративная фильтрация кажутся неэффективными, но, возможно, у меня нездоровая неприязнь к циклам for, так как я раньше был программистом R.
Является ли цикл for лучшим способом решения этой проблемы или есть хороший способ превратить последовательности в столбец, который фильтрует, как следует?
Код выглядит примерно так:
val df = data.frame(a=1:3,b=1:3,c=1:3) //use R syntax here for brevity
val cols = Seq($"a",$"b",$"c")
val vals = Seq(1, 2, 3)
val filteredDf = df
cols.map(case(col, i) => filteredDf = filteredDf.filter(col = vals[i]))