Stratified and weighted sampling in dataframes

take_a_sample(df::AbstractDataFrame, size) =
    df[sample(axes(df, 1), min(size, nrow(df)); replace = false, ordered = true), :]
1 Like