Q006 - Qual è la tipologia della sede che ospita il laboratorio?


In [1]:
# -*- coding: UTF-8 -*-

# Render our plots inline
%matplotlib inline 

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

pd.set_option('display.mpl_style', 'default') # Make the graphs a bit prettier, overridden by seaborn
pd.set_option('display.max_columns', None) # Display all the columns
plt.rcParams['font.family'] = 'sans-serif' # Sans Serif fonts for all the graphs

# Reference for color palettes: http://web.stanford.edu/~mwaskom/software/seaborn/tutorial/color_palettes.html

# Change the font
matplotlib.rcParams.update({'font.family': 'Source Sans Pro'})

In [2]:
# Load csv file first
data = pd.read_csv("data/lab-survey.csv", encoding="utf-8")

In [3]:
# Check data
#data[0:4] # Equals to data.head()

In [4]:
%%capture output

# Save the output as a variable that can be saved to a file
# Get the distribution of way of living
kind = data["D6"].value_counts(dropna=False)
print "Data:"
print kind
print ""
print "Data %:"
print data["D6"].value_counts(normalize=True,dropna=False) * 100

In [5]:
# Save+show the output to a text file
%save Q006-TipologiaSede01.py str(output)
shutil.move("Q006-TipologiaSede01.py", "text/Q006-TipologiaSede01.txt")


The following commands were written to file `Q006-TipologiaSede01.py`:
Data:
Altro                                                    17
Edificio industriale o capannone                         15
Negozio o bottega                                         9
Coworking                                                 8
Incubatore o acceleratore d'impresa                       5
Museo                                                     4
Centro di ricerca                                         3
Garage                                                    3
Scuola secondaria di secondo grado (scuola superiore)     2
Universitá                                                2
Scuola secondaria di primo grado (scuola media)           1
NaN                                                       1
dtype: int64

Data %:
Altro                                                    24.285714
Edificio industriale o capannone                         21.428571
Negozio o bottega                                        12.857143
Coworking                                                11.428571
Incubatore o acceleratore d'impresa                       7.142857
Museo                                                     5.714286
Centro di ricerca                                         4.285714
Garage                                                    4.285714
Scuola secondaria di secondo grado (scuola superiore)     2.857143
Universitá                                                2.857143
Scuola secondaria di primo grado (scuola media)           1.428571
NaN                                                       1.428571
dtype: float64


In [6]:
# Swap nan for a more understandable word
old_dict = kind.to_dict()
new_dict = {}
for i in old_dict:
    if type(i) is float and np.isnan(i):
        new_dict["Nessuna risposta"] = old_dict[i]
    else:
        new_dict[i.capitalize()] = old_dict[i]

kindu = pd.Series(new_dict)
kind = kindu.order()

In [7]:
# Plot the data
plt.figure(figsize=(8,6))
plt.xlabel(u'Tipologia sede', fontsize=16)
plt.ylabel('Lab', fontsize=16)
plt.title(u"Qual è la tipologia della sede che ospita il laboratorio?", fontsize=18, y=1.02)
my_colors = seaborn.color_palette("husl", len(kind)) # Set color palette
kind.plot(kind="bar",color=my_colors)
plt.savefig("svg/Q006-TipologiaSede.svg")
plt.savefig("png/Q006-TipologiaSede.png")
plt.savefig("pdf/Q006-TipologiaSede.pdf")



In [8]:
%%capture output

# Save the output as a variable that can be saved to a file
# Get "other" data
kind_other = data["D6[other]"].str.lower().value_counts()
print "Data:"
print kind_other
print ""
print "Data %:"
print data["D6[other]"].str.lower().value_counts(normalize=True) * 100

In [9]:
# Save+show the output to a text file
%save Q006-TipologiaSede02.py str(output)
shutil.move("Q006-TipologiaSede02.py", "text/Q006-TipologiaSede02.txt")


The following commands were written to file `Q006-TipologiaSede02.py`:
Data:
guardiola ex-fabbrica                                          1
fabbricato civile                                              1
circolo                                                        1
ufficio (provvisorio)                                          1
centro culturale e ricreativo                                  1
laboratorio sociale occupato autogestito                       1
spazio commerciale                                             1
centro culturale                                               1
centro di formazione                                           1
a breve ampliamento con secondo negozio in area circostante    1
recupero edificio industriale di prossima assegnazione         1
ecomuseo                                                       1
loft da antico edificio rurale                                 1
privato                                                        1
ex garage moto                                                 1
residenza                                                      1
dtype: int64

Data %:
guardiola ex-fabbrica                                          1.428571
fabbricato civile                                              1.428571
circolo                                                        1.428571
ufficio (provvisorio)                                          1.428571
centro culturale e ricreativo                                  1.428571
laboratorio sociale occupato autogestito                       1.428571
spazio commerciale                                             1.428571
centro culturale                                               1.428571
centro di formazione                                           1.428571
a breve ampliamento con secondo negozio in area circostante    1.428571
recupero edificio industriale di prossima assegnazione         1.428571
ecomuseo                                                       1.428571
loft da antico edificio rurale                                 1.428571
privato                                                        1.428571
ex garage moto                                                 1.428571
residenza                                                      1.428571
dtype: float64


In [10]:
# Plot bar
plt.figure(figsize=(8,6))
plt.title(u'Qual è la tipologia della sede che ospita il laboratorio? Altro', fontsize=18, y=1.02)
plt.xticks(range(len(kind_other.index)),kind_other.index,rotation=90)
plt.xlabel('Tipologia sede', fontsize=16)
plt.ylabel('Lab', fontsize=16)
ind = np.arange(len(kind_other))   # the x locations for the groups
width = 0.35                         # the width of the bars

my_colors = seaborn.color_palette("husl", len(kind_other)) # Set color palette
rect1 = plt.bar(ind,kind_other,width,color=my_colors,align='center')
plt.savefig("svg/Q006-TipologiaSede02.svg")
plt.savefig("png/Q006-TipologiaSede02.png")
plt.savefig("pdf/Q006-TipologiaSede02.pdf")



In [10]: