我必须根据二进制变量从数据框中绘制两个 distplots:df_train \.groupby("Binary")["Continuous"] \.apply(sb.distplot, hist=False)plt.show()如果我在 apply 中传递参数label=,则相同的标签将应用于两个图。我如何告诉他根据二值特征的值显示标签?
1 回答

慕少森
TA贡献2019条经验 获得超9个赞
apply您可以循环遍历创建的组,而不是使用。(而不是distplot没有直方图,kdeplot可以直接调用,这样更容易提供额外的参数。)
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
df_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()
添加回答
举报
0/150
提交
取消