That seems to do the trick, although the syntax gets very messy very quickly - an example of replacing values in one column with those in another column, if three conditions are met:
@where(df, array((:cond1).==0 & (:cond2.==1) & (:cond3.==1), false))[:col1] = @where(df, array((:cond1).==0 & (:cond2.==1) & (:cond3.==1), false))[:col2]
