# 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(默认值),则选择最快的可用分组算法,因此结果中的组顺序未定义,并且可能会在未来版本中更改; 下面提供了当前实现的描述。

skipmissing
false(默认)| true

是否跳过分组列 cols 之一中具有缺失值的组

# 另请参阅

DataFrame | groupcols