分位数#

分位数转换计算输入数据的经验分位数值。如果提供了 groupby 参数,则分位数将按组单独估计。除了其他用途外,分位数转换对于创建分位数-分位数 (Q-Q) 图非常有用。

以下是正态分布数据的分位数图示例

import altair as alt
import pandas as pd
import numpy as np

np.random.seed(42)
df = pd.DataFrame({'x': np.random.randn(200)})

alt.Chart(df).transform_quantile(
    'x', step=0.01
).mark_point().encode(
    x='prob:Q',
    y='value:Q'
)

转换选项#

transform_quantile() 方法基于 QuantileTransform 类构建,该类具有以下选项

点击显示表格

属性

类型

描述

as

array(FieldName)

概率值和分位数值的输出字段名称。

默认值: ["prob", "value"]

groupby

array(FieldName)

要分组的数据字段。如果未指定,将使用包含所有数据对象的单个组。

probs

array(number)

用于计算分位数值的概率数组,范围在 (0, 1) 内。如果未指定,将使用 *step* 参数。

quantile

FieldName

要执行分位数估计的数据字段。

step

number

用于对分位数值进行采样的概率步长(默认值为 0.01)。将采样从步长的一半到 1(不包含)之间的所有值。仅在未提供 *probs* 参数时使用此参数。