You need to broadcast the &
.
d_f[(d_f.A .== 3) .& (d_f.B .== "c"), :]
If you are using version 1.7, you can actually use the safer &&
, which is actually control flow, rather than &
, which is “bitwise OR”.
julia> d_f[(d_f.A .== 3) .&& (d_f.B .== "c"), :]
1×2 DataFrame
Row │ A B
│ Int64 String
─────┼───────────────
1 │ 3 c
Finally, if you are using DataFramesMeta.jl, you can do
julia> using DataFramesMeta
julia> @rsubset(d_f, :A == 3, :B == "c")
1×2 DataFrame
Row │ A B
│ Int64 String
─────┼───────────────
1 │ 3 c