summarize() 方法

基于一个或多个列中的相同值对数据帧中的行进行分组。统计每个组中的行数,并且为每个组小计指定的数值列。

语法

数据帧名称.summarize(on = ["键列", "...n"], calculate = ["数值列", "...n"]|None, statistics = True|False)

参数

名称 描述
on = ["键列", "...n"]

要汇总的一个或多个键列。

如果您按一个以上的列进行汇总,则会创建嵌套组。嵌套顺序遵循您指定列的顺序。

键列被定位于汇总数据帧的最左侧位置。

说明

在将数据汇总到不同的组内之前,summarize() 方法自动按键列对数据帧进行排序。对于一个或多个键列中的每组相同值或相同值组合,输出数据帧都包含单个唯一组。

calculate = ["数值列", "...n"] | None

可选

  • 数值列要为每个组小计的一个或多个数值列另外还计算

    每个组

    的小计值在列合计值中所占的百分比
  • None 不小计任何数值列

如果您省略该参数,则不会小计任何列。

statistics = True | False

可选

  • True 为所有数值小计列计算统计信息

    说明

    除非用 calculate 指定了至少一个数值小计列,否则不能使用。

  • False 不计算统计信息

如果您指定 True,则会为每个小计列计算下列统计值(按组分解):

  • 最小值
  • 最大值
  • 均值
  • 中值
  • 标准偏差
  • 模式
  • 第一个四分位数
  • 第三个四分位数

如果您省略 statistics,则使用默认的 False

返回

HCL 数据帧。

示例

每个客户的交易总金额

您按 Customer_Number 列汇总应收帐款数据帧,并且小计 Trans_Amount 列。输出按客户分组,并且包括每个客户的交易总金额:

customer_total = accounts_receivable.summarize(on = ["Customer_Number"], calculate = ["Trans_Amount"], statistics = False)

每个客户每个交易日期的交易总金额

您按 Customer_Number 列和 Trans_Date 列汇总应收帐款数据帧。您对 Trans_Amount 列进行小计。

输出按客户分组,在每个客户内又按日期分组,并且包括每个客户在每个交易日期的交易总金额。

customer_total_by_date = accounts_receivable.summarize(on = ["Customer_Number", "Trans_Date"], calculate = ["Trans_Amount"], statistics = False)

用每个客户每个交易日期的统计值合计交易金额

此示例与上面的示例相同,但您为 statistics 参数指定了 True

除了计算每个客户每个交易日期的交易金额小计以外,您还会计算每个客户每个日期的各种统计值:

customer_stats_by_date = accounts_receivable.summarize(on = ["Customer_Number", "Trans_Date"], calculate = ["Trans_Amount"], statistics = True)

备注

工作原理

summarize() 方法对在某个列中具有相同值或者在多个列中具有相同值组合的行进行分组。输出数据帧为每个组包含单个行,并且包含该源数据帧中属于该组的行数的计数。该输出还会计算属于每个组的数据帧行的百分比。

小计和统计信息:输出结果中的列名称和计算

您可以使用 calculatestatistics 参数对您指定的任何小计列执行统计计算。在输出结果中,统计计算的结果按组进行细分。

calculate 参数

输出数据帧中的列名称 对小计列执行的计算
小计列名称 + _sum% 每个组的小计值
小计列名称 + _sum%

每个组的小计(以列合计的百分比表示)

statistics 参数

输出数据帧中的列标题 对小计列执行的计算

小计列名称 + _min

每个组的最小值

小计列名称 + _max

每个组的最大值

小计列名称 + _mean

每个组的平均值

小计列名称 + _median

每个组的中值

  • 奇数编号的值集:中间值
  • 偶数编号的值集:中间两个值的均值

小计列名称 + _std

每个组的标准偏差

小计列名称 + _mode

每个组中最常出现的值

如果出现相等值,则显示最低值。如果没有值出现一次以上,则显示该列中的最小值。

小计列名称 + _q25

每个组的第一个四分位数值(较低的四分位数值)

小计列名称 + _q75

每个组的第三个四分位数值(较高的四分位数值)