使用 `seaborn.objects` 进行分箱和聚合

问题描述 投票:0回答:1

有没有办法在

count
中同时进行分箱和聚合(使用除
seaborn.objects
之外的其他功能)?我想计算每个垃圾箱的平均值,现在我正在使用以下内容:

import seaborn.objects as so
import pandas as pd
import seaborn as sns

df = sns.load_dataset("penguins")
df2 = (
    df.groupby(pd.cut(df["bill_length_mm"], bins=30))[["bill_depth_mm"]]
    .mean()
)
df2["bill_length_mm"] = [x.mid for x in df2.index]
p = so.Plot(df2, x="bill_length_mm", y="bill_depth_mm").add(so.Bars())

p
python plot seaborn visualization seaborn-objects
1个回答
3
投票

目前还没有与

Hist
分开的分箱操作(这可能作为
Stat
Scale
有意义,我不确定)。

但请注意,您可以比示例中更简单地进行聚合,因为您可以直接传递 Series 并且不需要构造新的数据框:

(
    so.Plot(
        df,
        x="bill_depth_mm",
        y=pd.cut(df["bill_length_mm"], bins=30).map(lambda x: x.mid),
    )
    .add(so.Bars(), so.Agg("mean"))
)

请注意,Series 将根据索引信息而不是位置与 DataFrame(或直接传递的其他 Series)对齐。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.