Code
julia
using DataFrames, Statistics
df = DataFrame(
name = ["Alice", "Bob", "Carol", "Dave"],
dept = ["Eng", "Eng", "Sales", "Sales"],
salary = [90, 85, 70, 75],
years = [5, 3, 7, 2],
)
# Filter rows
eng = filter(:dept => ==("Eng"), df)
high = filter([:salary, :years] => (s, y) -> s > 80 && y > 2, df)
# Add / transform columns (with! is in-place)
transform!(df, :salary => ByRow(x -> x * 1.1) => :raise)
transform!(df, [:salary, :years] => ByRow((s, y) -> s / y) => :per_year)
# Group + summarize
gdf = groupby(df, :dept)
combine(gdf, :salary => mean => :avg_salary,
:salary => sum => :total,
nrow => :headcount)
# Sort
sort!(df, :salary, rev=true)
# Join
bonuses = DataFrame(name=["Alice","Bob","Eve"], bonus=[10, 5, 8])
joined = innerjoin(df, bonuses, on = :name)