python - 大熊猫申请后在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()
推荐阅读
- android - Android 信标库 | IBeacon - 使用移动设备广告多个信标
- mysql - 带有条件的Mysql删除触发器中的语法错误
- apache-kafka - Apache Kafka 和 Zookeeper 连接问题
- typescript - 在 TypeScript 中迭代 immutablejs 映射值
- node.js - Xiaomi2mqtt如何连接Aquara硬件设备
- php - laravel 中用于缓存的清漆等效包
- embedded - trace32 data.load.elf 错误“验证地址 NSX:0x8000 处的错误”
- android - WorkManager 是否有可以在任务期间发布事件的东西?
- python - 如何在没有 QProcess 的情况下将终端嵌入 PyQt5 应用程序中?
- java - 当日期时间在数据库中存储为 UTC 时如何正确使用 DATEDIFF 函数,但您想找出天数的差异