In [19]:
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
plt.style.use('seaborn-whitegrid')
In [20]:
# Data, jossa yritysasiakkaiden mielikuvia tavarantoimittajayrityksestä
# Asteikko: 0 = huono - 10 = erinomainen
df = pd.read_excel('http://taanila.fi/data3.xlsx')
df.head()
Out[20]:
nro toimitusnopeus hintataso joustavuus hinnoissa toimittajan imago palvelu myyntihenkilöstön imago tuotteiden laatu yleinen tyytyväisyys
0 1 4.1 0.6 6.9 4.7 2.4 2.3 5.2 4.2
1 2 1.8 3.0 6.3 6.6 2.5 4.0 8.4 4.3
2 3 3.4 5.2 5.7 6.0 4.3 2.7 8.2 5.2
3 4 2.7 1.0 7.1 5.9 1.8 2.3 7.8 3.9
4 5 6.0 0.9 9.6 7.8 3.4 4.6 4.5 6.8
In [21]:
# Pudotan nro-sarakkeen pois
df = df.drop('nro', axis=1)
In [22]:
# Yleisen tyytyväisyyden luokiteltu jakauma histogrammina
df['yleinen tyytyväisyys'].hist(bins=5) 
Out[22]:
<matplotlib.axes._subplots.AxesSubplot at 0x24cc6327438>
In [25]:
# Seabornin histogrammista näkee myös jakaumat luokkien sisällä (rug)
sns.distplot(df['yleinen tyytyväisyys'], bins=5, kde=False, rug=True)
Out[25]:
<matplotlib.axes._subplots.AxesSubplot at 0x24cc646d198>
In [5]:
# Tunnuslukuyhteenveto
df.describe()
Out[5]:
toimitusnopeus hintataso joustavuus hinnoissa toimittajan imago palvelu myyntihenkilöstön imago tuotteiden laatu yleinen tyytyväisyys
count 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000 100.000000
mean 3.515000 2.364000 7.894000 5.248000 2.916000 2.665000 6.971000 4.771000
std 1.320726 1.195659 1.386502 1.131414 0.751258 0.770855 1.585241 0.855558
min 0.000000 0.200000 5.000000 2.500000 0.700000 1.100000 3.700000 3.200000
25% 2.500000 1.475000 6.700000 4.575000 2.400000 2.200000 5.800000 4.100000
50% 3.400000 2.150000 8.050000 5.000000 3.000000 2.600000 7.150000 4.850000
75% 4.600000 3.225000 9.100000 6.000000 3.425000 3.000000 8.325000 5.400000
max 6.100000 5.400000 10.000000 8.200000 4.600000 4.600000 10.000000 6.800000
In [5]:
# Keskiarvot ja niiden virhemarginaalit (musta viiva)
sns.barplot(data=df, orient='h')
Out[5]:
<matplotlib.axes._subplots.AxesSubplot at 0x1e6fbc820b8>
In [8]:
# Viiden luvun yhteenveto (pienin, alaneljännes, mediaani, yläneljännes, suurin)
sns.boxplot(data=df, orient='h')
Out[8]:
<matplotlib.axes._subplots.AxesSubplot at 0x24cc28a9a20>
In [7]:
# Korrelaatiot
sns.heatmap(df.corr(), annot=True)
Out[7]:
<matplotlib.axes._subplots.AxesSubplot at 0x1e6fbe8eb70>
In [9]:
# Korrelaatioiden visuaalinen tarkastelu
sns.pairplot(df, kind='reg')
Out[9]:
<seaborn.axisgrid.PairGrid at 0x24cc296c390>