Как создать график распределения вероятностей для категориальных атрибутов? - PullRequest
0 голосов
/ 24 июня 2018

Как создать график распределения вероятностей для категориальных атрибутов?

Я пытался использовать sns.distplot, но получаю ошибку: TypeError: unsupported operand type(s) for /: 'str' and 'int'.

Однако, когда я запускаю sns.countplot(x="WAKE", data=df, palette="Greens_d"), я получаю правильный график подсчета.

df =

ID   WAKE
1    H
2    H
3    L
4    H
5    M
6    M
7    H
8    L

1 Ответ

0 голосов
/ 24 июня 2018

Не совсем Seaborn, но я надеюсь, что базовый Matplotlib подойдет.

Вы можете уменьшить категории до чисел и построить гистограмму. Эту гистограмму вы можете использовать в качестве гистограммы плотности для ее нормализации. Я призываю вас прочитать документацию по каждой из функций здесь.

df = pd.DataFrame()
df['Wake'] = ['H', 'H', 'L', 'H', 'M', 'M', 'H', 'L']

# Reduce categories to numbers
vals = df['Wake'].values
uniq, idx = np.unique(vals, return_inverse=True)

# View results as groups (just for show)
df['C'] = idx
df.groupby('Wake').count()

# Substract 0.5 to center to the indices
i = idx - 0.5
plt.hist(i, bins=np.arange(0, idx.max()+2, 1)-0.5, density=True)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...