Могу ли я использовать счетчик seaborn для отображения моих данных - PullRequest
2 голосов
/ 12 июля 2020

У меня возникли проблемы с отображением некоторых данных об оценке HR с помощью seaborn. Я хочу использовать график подсчета для визуализации данных с сотрудниками по оси Y. Категории оценки в виде оттенка и диапазон значений их оценок по оси x.

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

btraits = {'Behavioural Traits': ['Communicaiton', 'Teamwork', 'Leadership', 'Negotiation', 'Agreeableness'],
'James':[0,-2,0,-2,-2],
'John':[2,0,0,2,-1],
'Gary':[0,-1,0,1,-3],
'Raymond':[3,-5,0,1,0]}
df = pd.DataFrame(btraits)
df.set_index('Behavioural Traits', inplace=True)

sns.countplot(data=btraits, y='columns', hue='index')

Ответы [ 2 ]

1 голос
/ 12 июля 2020
  • Я думаю, вам действительно нужна гистограмма для этих данных.
  • счетная диаграмма показывает количество наблюдений в каждой категориальной ячейке с использованием столбцов.
  • Данные должны быть сложены в длинную форму
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

btraits = {'Behavioural Traits': ['Communicaiton', 'Teamwork', 'Leadership', 'Negotiation', 'Agreeableness'],
           'James': [0,-2,0,-2,-2],
           'John': [2,0,0,2,-1],
           'Gary': [0,-1,0,1,-3],
           'Raymond': [3,-5,0,1,0]}

df = pd.DataFrame(btraits)
df.set_index('Behavioural Traits', inplace=True)

                    James  John  Gary  Raymond
Behavioural Traits                            
Communicaiton           0     2     0        3
Teamwork               -2     0    -1       -5
Leadership              0     0     0        0
Negotiation            -2     2     1        1
Agreeableness          -2    -1    -3        0

# stack the columns
dfs = df.stack().reset_index().rename(columns={'level_1': 'names', 0: 'values'})

   Behavioural Traits    names  values
0       Communicaiton    James       0
1       Communicaiton     John       2
2       Communicaiton     Gary       0
3       Communicaiton  Raymond       3
4            Teamwork    James      -2
5            Teamwork     John       0
6            Teamwork     Gary      -1
7            Teamwork  Raymond      -5
8          Leadership    James       0
9          Leadership     John       0
10         Leadership     Gary       0
11         Leadership  Raymond       0
12        Negotiation    James      -2
13        Negotiation     John       2
14        Negotiation     Gary       1
15        Negotiation  Raymond       1
16      Agreeableness    James      -2
17      Agreeableness     John      -1
18      Agreeableness     Gary      -3
19      Agreeableness  Raymond       0

счетный график

sns.countplot(data=dfs, x='names', hue='Behavioural Traits')

enter image description here

barplot

sns.barplot(x='names', y='values', hue='Behavioural Traits', data=dfs)

введите описание изображения здесь

0 голосов
/ 12 июля 2020

Countplot в основном возвращает количество вхождений.

вы можете попробовать barplot вместо этого для каждой категориальной переменной. Например: sns.barplot(x=df.index,y='James',data=df)

...