应用熊猫后在 seaborn 中设置图例

我必须根据二进制变量从数据框中绘制两个 distplots:


df_train \

.groupby("Binary")["Continuous"] \

.apply(sb.distplot, hist=False)


plt.show()

如果我在 apply 中传递参数label=,则相同的标签将应用于两个图。我如何告诉他根据二值特征的值显示标签?


慕田峪7331174
浏览 133回答 1
1回答

慕少森

apply您可以循环遍历创建的组,而不是使用。(而不是distplot没有直方图,kdeplot可以直接调用,这样更容易提供额外的参数。)import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport seaborn as snsdf_train = pd.DataFrame({"Binary": np.repeat(['yes', 'no'], 1000),                         "Continuous": np.random.uniform(-1, 1, 2000).cumsum()})groups = df_train.groupby("Binary")["Continuous"]for label, group in groups:    sns.kdeplot(group, label=f"Binary: {label}", shade=True)plt.show()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python