Skip to content
Julia

Operaciones con DataFrame (DataFrames.jl)

Filtra, transforma, agrupa y une datos tabulares con DataFrames.jl.

#dataframe#data#tables

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)