gpt4 book ai didi

python - 具有多个分布的 seaborn distplot/displot

转载 作者:IT老高 更新时间:2023-10-28 22:07:21 24 4
gpt4 key购买 nike

我正在使用 seaborn 绘制分布图。我想用不同的颜色在同一个图上绘制多个分布:

这是我开始分布图的方式:

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
iris = load_iris()
iris = pd.DataFrame(data= np.c_[iris['data'], iris['target']],columns= iris['feature_names'] + ['target'])

sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) target
0 5.1 3.5 1.4 0.2 0.0
1 4.9 3.0 1.4 0.2 0.0
2 4.7 3.2 1.3 0.2 0.0
3 4.6 3.1 1.5 0.2 0.0
4 5.0 3.6 1.4 0.2 0.0

sns.distplot(iris[['sepal length (cm)']], hist=False, rug=True);

enter image description here

'target' 列包含 3 个值:0、1、2。

我希望看到一个萼片长度分布图,其中 target ==0target ==1target ==2,一共3个地 block 。

最佳答案

重要的是按 target012 的值对数据帧进行排序.

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
import seaborn as sns

iris = load_iris()
iris = pd.DataFrame(data=np.c_[iris['data'], iris['target']],
columns=iris['feature_names'] + ['target'])

# Sort the dataframe by target
target_0 = iris.loc[iris['target'] == 0]
target_1 = iris.loc[iris['target'] == 1]
target_2 = iris.loc[iris['target'] == 2]

sns.distplot(target_0[['sepal length (cm)']], hist=False, rug=True)
sns.distplot(target_1[['sepal length (cm)']], hist=False, rug=True)
sns.distplot(target_2[['sepal length (cm)']], hist=False, rug=True)

plt.show()

输出如下:

enter image description here

如果您不知道 target 可能有多少个值,请在 target 列中找到唯一值,然后对数据框进行切片并适本地添加到图中。

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
import seaborn as sns

iris = load_iris()
iris = pd.DataFrame(data=np.c_[iris['data'], iris['target']],
columns=iris['feature_names'] + ['target'])

unique_vals = iris['target'].unique() # [0, 1, 2]

# Sort the dataframe by target
# Use a list comprehension to create list of sliced dataframes
targets = [iris.loc[iris['target'] == val] for val in unique_vals]

# Iterate through list and plot the sliced dataframe
for target in targets:
sns.distplot(target[['sepal length (cm)']], hist=False, rug=True)

关于python - 具有多个分布的 seaborn distplot/displot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com