regular DataFrames.jl will work
combine(groupby(test_df,"A"), "B" .=> [first,last,mean ∘ skipmissing])