轻松显示绘图表达条形图的平均值

时间:2021-04-04 14:38:21

标签: python plotly data-visualization plotly-express

Plotly Express 的条形图默认堆叠观察值,显示总和。

import seaborn as sns
import plotly.express as px

df =sns.load_dataset("penguins")

px.bar(data_frame=df, x="species", y="bill_depth_mm")

我正在尝试显示每个物种的均值,这是大多数其他流行的 Python 库返回的值。

我可以手动计算每个物种的平均值并制作新的字典/数据框。但是我觉得应该有一种简单的方法可以直接从 Plotly 显示均值。

我已经检查了文档并且没有运气。我错过了什么?

1 个答案:

答案 0 :(得分:1)

我认为你没有遗漏任何东西。我想 Plotly 开发人员的想法是,传递给 px.bar 方法的 DataFrames 每个唯一类别都有一个 y 值,正如 this documentation 显示的 Plotly Express 如何处理长格式或宽格式数据所证明的那样。在奖牌数据集中,有 9 个不同类别的 9 个条形。

正如您所说,这意味着您需要计算每个独特物种的平均值,这可以通过将数据帧的分组平均值直接传递给 data_frame 参数来实现,即使它不是最优雅。

fig = px.bar(
    data_frame=df.groupby(['species']).mean().reset_index(), 
    x="species", 
    y="bill_depth_mm"
)

enter image description here