ray.data.grouped_data.GroupedData.std#

GroupedData.std(on: str | List[str] = None, ddof: int = 1, ignore_nulls: bool = True) Dataset[源代码]#

计算分组标准差聚合。

示例

>>> import ray
>>> ray.data.range(100).groupby("id").std(ddof=0) 
>>> ray.data.from_items([ 
...     {"A": i % 3, "B": i, "C": i**2} 
...     for i in range(100)]) \ 
...     .groupby("A") \ 
...     .std(["B", "C"]) 

注意:这使用了 Welford 的在线方法来进行累加器样式的标准差计算。选择这种方法是因为它的数值稳定性,以及它可以在一次遍历中完成计算。这可能会与使用数值稳定性较差的两次遍历算法的 NumPy、Pandas 和 sklearn 得到不同的(但更准确的)结果。参见 https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Welford’s_online_algorithm

参数:
  • on – 要聚合的列名或列名列表。

  • ddof – 自由度增量。计算中使用的除数是 N - ddof,其中 N 表示元素的数量。

  • ignore_nulls – 是否忽略空值。如果 True,计算标准差时将忽略空值;如果 False,遇到空值时输出将为空。我们将 np.nan、None 和 pd.NaT 视为空值。默认值为 True

返回:

标准差结果。对于不同的 on 值,返回结果不同:- on=None:包含一个 groupby 键列 "k" 的数据集,以及每个原始数据集中列的列方向标准差列。- on=["col_1", ..., "col_n"]:包含 n + 1 列的数据集,其中第一列是 groupby 键,第二列到第 n + 1 列是聚合结果。如果 groupby 键为 None,则返回结果中省略键部分。