繁体   English   中英

使用Seaborn从Pandas DataFrame创建箱线图

[英]Creating boxplot from Pandas DataFrame using Seaborn

我有以下Pandas DataFrame ,可用于比较多次迭代中不同分类器的性能。 每次迭代后,我将该特定分类器的排名保存到一个DataFrame ,这是所有迭代中排名的累积总和( DataFrame的索引告诉该排名从0到3,即总共有4个分类器,而0是最好的)。

DataFrame如下所示:

rankings = {'Classifier1': ['1', '2', '1', '0'], 
            'Classifier2': ['2', '1', '1', '0'], 
            'Classifier3': ['0', '1', '1', '2'],
            'Classifier4': ['1', '0', '1', '2']}

df = pd.DataFrame(data = rankings)

格式为:

       Classifier1 Classifier2 Classifier3 Classifier4
0           1           2           0           1
1           2           1           1           0
2           1           1           1           1
3           0           0           2           2

我想通过使用Seaborn或替代方法来创建以下分类器的箱线图(如本文中所示 ):

在此处输入图片说明

首先,我们需要将您的数据转换为数值而不是字符串。 然后,我们将数据帧融化以使其成为长格式,最后我们在顶部应用一个带实线图的箱线图

df = df.apply(pd.to_numeric).melt(var_name='Classifier', value_name='AUC Rank')
ax = sns.boxplot(data=df, x='Classifier', y='AUC Rank')
ax = sns.swarmplot(data=df, x='Classifier', y='AUC Rank', color='black')

带黑点的箱形图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM