onsdag 3. juli 2019

Density plot - Seaborn - Python







Density plots brukes for å illustrere distribusjonen blant et eller flere datasett. 

I dette eksempelet ønsker vi å illustrere alderdistribusjon i tre ulike grupper (A, B og C):

# importer moduler
import pandas as pd
import seaborn as sns

# hent data
df = pd.read_excel('Book1.xlsx')
print(df)

       Kundegruppe  Alder
0              A     39
1              A     43
2              B     37
3              B     42
4              C     54
         ...    ...
1939           A     35
1940           B     39
1941           B     43
1942           C     41
1943           C     44

Før vi kan lage diagrammet må vi endre struktur på datasettet. Vi trenger en kolonne per kundegruppe og tilhørende alderobservasjoner. Dette får vi til ved å bruke .pivot funksjonen:
df = df.pivot(columns='Kundegruppe',
              values='Alder')
print(df)

              A     B     C
0            39.0   NaN   NaN
1            43.0   NaN   NaN
2             NaN  37.0   NaN
3             NaN  42.0   NaN
4             NaN   NaN  54.0
          ...   ...   ...
1939         35.0   NaN   NaN
1940          NaN  39.0   NaN
1941          NaN  43.0   NaN
1942          NaN   NaN  41.0
1943          NaN   NaN  44.0



Nå gjenstår det bare å lage diagrammet. 

sns.kdeplot - definerer type diagram
df['A'] - velger datasett / kolonne 
shade=True - diagrammet skal ha fyll/skygge
color='r' - definerer farge

p1=sns.kdeplot(df['A'],shade=True,color='r')
p1=sns.kdeplot(df['B'],shade=True,color='g')
p1=sns.kdeplot(df['C'],shade=True,color='b')




Scritp:

import pandas as pd
import seaborn as sns


df = pd.read_excel('Book1.xlsx')


df = df.pivot(columns='Kundegruppe',
              values='Alder')


p1=sns.kdeplot(df['A'],shade=True,color='r')
p1=sns.kdeplot(df['B'],shade=False,color='g')
p1=sns.kdeplot(df['C'],shade=True,color='b')







Ingen kommentarer:

Legg inn en kommentar