Selecting rows from a data frame using multiple conditions

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
6 Likes