web-dev-qa-db-ja.com

Seaborn.countplot:カウントでカテゴリを並べ替えますか?

seaborn.countplot には属性orderがあり、カテゴリの順序を決定するために設定できることを知っています。しかし、私がやりたいのは、カテゴリを降順の順にすることです。 (元のデータフレームでgroupby操作などを使用して)カウントを手動で計算することでこれを達成できることはわかっていますが、この機能がseaborn.countplotに存在するかどうか疑問に思っています。驚いたことに、この質問に対する答えはどこにも見つかりません。

20
nfernand

私の知る限り、この機能は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()

enter image description here

47
miradulo

ほとんどの場合、海生まれのカウントプロットは実際には必要ありません。 pandasバープロットでプロットするだけです。

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()