# groupby
对表的列指标进行分类
函数库: TyBase
# 语法
groupby(d::AbstractDataFrame, cols;
sort::Union{Bool, Nothing}=nothing,
skipmissing::Bool=false)
# 说明
groupby(d::AbstractDataFrame, cols;sort::Union{Bool, Nothing}=nothing,skipmissing::Bool=false)对表格d 按照cols进行分类。 示例
# 示例
对表进行分组
创建一个表格
using TyBase
df = DataFrame(a=repeat([1, 2, 3, 4], outer=[2]),
b=repeat([2, 1], outer=[4]),
c=1:8)
df = 8×3 DataFrame
Row │ a b c
│ Int64 Int64 Int64
─────┼─────────────────────
1 │ 1 2 1
2 │ 2 1 2
3 │ 3 2 3
4 │ 4 1 4
5 │ 1 2 5
6 │ 2 1 6
7 │ 3 2 7
8 │ 4 1 8
对df按 :a进行分组
gd = groupby(df,:a)
将结果全部输出
for g in gd
println(g)
end
2×3 SubDataFrame
Row │ a b c
│ Int64 Int64 Int64
─────┼─────────────────────
1 │ 1 2 1
2 │ 1 2 5
2×3 SubDataFrame
Row │ a b c
│ Int64 Int64 Int64
─────┼─────────────────────
1 │ 2 1 2
2 │ 2 1 6
2×3 SubDataFrame
Row │ a b c
│ Int64 Int64 Int64
─────┼─────────────────────
1 │ 3 2 3
2 │ 3 2 7
2×3 SubDataFrame
Row │ a b c
│ Int64 Int64 Int64
─────┼─────────────────────
1 │ 4 1 4
2 │ 4 1 8
# 输入参数
df-输入表格
输入参数,为表格
cols-列Symbol | String | 正整数
要分组的列,可以是任何列选择器(符号、字符串或整数;:、Cols、All、Between、Not、正则表达式或符号、字符串或整数的向量)。
sort-排序
if sort=true 根据分组列cols的值对分组进行排序; 如果 sort=false 组是按照它们在 df 中的出现顺序创建的,如果 sort=nothing(默认值),则选择最快的可用分组算法,因此结果中的组顺序未定义,并且可能会在未来版本中更改; 下面提供了当前实现的描述。
skipmissingfalse(默认)| true
是否跳过分组列 cols 之一中具有缺失值的组