countplot:按计数排序类别?

2024-06-25 23:18:44 发布

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

我知道^{}具有属性order,可以设置该属性来确定类别的顺序。但我想做的是让类别按降序计数。我知道可以通过手动计算计数(在原始数据帧上使用groupby操作等)来实现这一点,但我想知道这个功能是否与seaborn.countplot一起存在。令人惊讶的是,我在任何地方都找不到这个问题的答案。


Tags: 答案功能原始数据属性顺序地方order手动
2条回答

据我所知,seaborn.countplot中没有内置此功能,order参数只接受类别的字符串列表,并将排序逻辑留给用户。

如果您有一个数据帧,那么使用^{}并不难。例如

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

sns.set(style='darkgrid')

titanic = sns.load_dataset('titanic')
sns.countplot(x = 'class',
              data = titanic,
              order = titanic['class'].value_counts().index)
plt.show()

enter image description here

最常见的情况是,一个海生的countplot并不是真正必要的。只需与熊猫酒吧情节:

import seaborn as sns; sns.set(style='darkgrid')
import matplotlib.pyplot as plt

df = sns.load_dataset('titanic')

df['class'].value_counts().plot(kind="bar")

plt.show()

相关问题 更多 >