我们怎样才能得到一个情节箱线图背后的不同统计数据?

Posted

技术标签:

【中文标题】我们怎样才能得到一个情节箱线图背后的不同统计数据?【英文标题】:How can we get different stats behind a plotly boxplot? 【发布时间】:2021-08-31 20:10:37 【问题描述】:

我想得到一个情节箱线图背后的确切统计数据。

这似乎让我非常接近,但我错过了第一季度和第三季度。

stats = df.groupby(['Market'])['Revenue'].describe()
stats

Q1 和 Q3 似乎与我看到的不同。

import plotly.express as px
fig = px.box(df, x="Market", y="Revenue", color="Market")
fig.update_traces(quartilemethod="exclusive")
fig.update_layout(showlegend=False)
fig.show()

这与“排他性”或“包容性”论点有关,但我不知道有什么区别。此外,df.groupby(['Market'])['Revenue'].describe() 的默认值似乎与 'inclusive' 参数相匹配。

Q1:“独家”和“包容”有什么区别?

Q2:df.groupby(['Market'])['Revenue'].describe() 是否有“排他性”参数?

【问题讨论】:

如果您的分数很少,您会看到差异。似乎在这里解释:plotly.com/r/box-plots/…。 describe 肯定是默认使用linear 插值,因为它调用Series/DataFrame.quantile 有点道理,但我也看到了一些奇怪的地方,可能是因为奇数和偶数样本。好的。谢谢。 和你一样,我也上过耶鲁,但只住了一个学期,因为对我来说太贵了。成本刚刚超过收益。 【参考方案1】:

第一季度

我没有在 plotly 文档中找到描述,但可以公平地假设解释与 Percentile 差别不大:

在统计中,百分位数(或百分位数)是一个分数,低于该分数 频率分布中给定分数的百分比下降 (唯一定义)或分数等于或低于给定百分比 跌倒(包括定义)。例如,第 50 个百分位( 中位数)是低于(不包括)或等于或低于 (含)分布中 50% 的分数都可以找到。

您可以在 plotly 文档中仔细查看Difference Between Quartile Algorithms 下差异的直观表示:

第二季度

不,df.describe() 似乎没有 exclusive 参数:

模块 pandas.core.generic 中描述方法的帮助:

描述(百分位数=无,包括=无,排除=无, datetime_is_numeric=False) -> ~FrameOrSeries 方法 pandas.core.frame.DataFrame 实例

如您所见,它确实有includeexclude。但他们做的事情与你正在寻找的完全不同:

include : 'all',类似于列表的 dtypes 或 None(默认),可选 要包含在结果中的数据类型白名单。忽略 为Series。以下是选项:

    - 'all' : All columns of the input will be included in the output.
    - A list-like of dtypes : Limits the results to the
      provided data types.
      To limit the result to numeric types submit
      ``numpy.number``. To limit it instead to object columns submit
      the ``numpy.object`` data type. Strings
      can also be used in the style of
      ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To
      select pandas categorical columns, use ``'category'``
    - None (default) : The result will include all numeric columns.
exclude : list-like of dtypes or None (default), optional,
    A black list of data types to omit from the result. Ignored
    for ``Series``. Here are the options:

    - A list-like of dtypes : Excludes the provided data types
      from the result. To exclude numeric types submit
      ``numpy.number``. To exclude object columns submit the data
      type ``numpy.object``. Strings can also be used in the style of
      ``select_dtypes`` (e.g. ``df.describe(include=['O'])``). To
      exclude pandas categorical columns, use ``'category'``
    - None (default) : The result will exclude nothing.

【讨论】:

看起来棒极了!感谢分享! @ASH 并不多,但希望你在寻找什么!

以上是关于我们怎样才能得到一个情节箱线图背后的不同统计数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何绘制混合箱线图:另一半有抖动点的半箱线图?

Fig4-a ggplot2绘制箱线图叠加散点图2020-12-14

如何使用ggplot2显示箱线图中的所有平均值? [复制]

R - 在箱线图中排序

可视化实验十二:利用Python绘制箱线图折线图

可视化实验十二:利用Python绘制箱线图折线图