Seaborn Distplot和Barp

2024-06-28 20:24:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含列值'a'、'B'、'C'、'D'。。。这只是一些种类的组合。我想生成一个柱状图,列值与计数之比。在

import seaborn as sns
sns.distplot(dfGroupingWithoutNan['patient_group'])

这产生了一个错误:

^{pr2}$

我想也许是因为我不熟悉distplot,我没有正确地使用它。我在想,我可以把一个序列传给它,它就能确定每个值的计数,并相应地显示在直方图中。在

不管怎样,我想到了其他的解决办法,这就是我想出的。在

series1 = dfGroupingWithoutNan['patient_group'].value_counts()
dfPatientGroup = pd.DataFrame( {'levels' : series1.index, 'level_values' : series1.values})

sns.set_style("whitegrid")
sns.barplot(x="levels", y="level_values", data=dfPatientGroup)

这一次,我使用条形图绘制了每个值与其计数的关系图。在

我只是想问,有没有其他方法可以做到这一点,比如如果我使用distplot,它会如何工作?另外,我真的需要创建一个新的数据帧来拥有某种存储库来保存值和计数吗?我在想,难道distplot不可能自动地确定计数而不必经历创建新数据帧的麻烦吗?在


Tags: 数据grouplevel计数valueslevels种类sns
1条回答
网友
1楼 · 发布于 2024-06-28 20:24:30

我将使用Counter来完成此操作。逻辑与您正在做的非常相似,但您不需要创建额外的数据帧:

from collections import Counter
cnt = Counter(dfGroupingWithoutNan.patient_group)
sns.barplot(x=cnt.keys(), y=cnt.values())

我不知道有任何解决方案可以自动处理seabornmatplotlib直方图中的字符串值。在

相关问题 更多 >