熊猫申请后在Seaborn树立传说

问题描述

我必须基于二进制变量从数据帧绘制两个散布图:

df_train \
.groupby("Binary")["Continuous"] \
.apply(sb.distplot,hist=False)

plt.show()

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

解决方法

代替使用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()

example plot

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...