Seborn.countlot:按计数对类别进行排序
问题描述
我知道seaborn.countplot
有order
属性,可以设置该属性来确定类别的顺序。但我想做的是让类别按降序排列。我知道我可以通过手动计算计数来实现这一点(在原始数据帧上使用groupby
操作,等等)。但我想知道seaborn.countplot
是否存在此功能。令人惊讶的是,我在任何地方都找不到这个问题的答案。
解决方案
据我所知,seaborn.countplot
中没有内置此功能-order
参数仅接受类别的字符串列表,并将排序逻辑留给用户。
如果您有DataFrame,value_counts()
就不难做到这一点。例如,
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()
相关文章