如何根据 Python 中的 pre-aggregated/grouped 数据创建箱线图?

How to create a boxplot from pre-aggregated/grouped data in Python?

使用 Matplotlib/Pandas/Seaborn,如何从聚合数据而不是原始数据构建箱线图?

上下文:我知道他们年龄的数百万人,我想制作一个箱线图。因为我有数百万行,所以我首先使用 PySpark 聚合我的数据集,然后再继续 Pandas 中的绘图。结果是我有一个数据集,其中包含特定年龄的人数(例如 10 万 18 岁的人)。

我似乎无法在 Seaborn 或 maptlotlib 包中找到选项。我错过了什么吗?

我找到了以下解决方案。

  1. 使用 PySpark 聚合数据并使用键名将此数据存储在字典中。字典 result 应如下所示:

    {'mean': 45.30698829299204, 'med': 47.0, 'q1': 27.0, 'q3': 62.0, 'iqr': 35.0, 'whishi': 114, 'whislo': 0, 'fliers': array([[118], [118]) }

  2. 要绘图,您可以使用 matplotlib boxplot 抽屉函数 bxp,例如:

    fig, ax = plt.subplots(figsize=(6, 12)) ax.bxp([result], showmeans = True, meanline = True)

可以找到详细信息here

如果您有更好的解决方案,请随时发表评论或回答。