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
,则返回结果中省略键部分。