Q038 - Quanti makers fanno parte della tua rete sociale virtuale?


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/results-makers-40.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
profile = data["Q038"].value_counts(dropna=False)
print "Data:"
print profile
print ""
print "Data %:"
print data["Q038"].value_counts(normalize=True,dropna=False) * 100

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


The following commands were written to file `Q038-DimensioneComunitá01.py`:
Data:
Meno di 50         56
NaN                36
Meno di 100        17
Tra 100 e 500      17
Tra 500 e 1.000     4
Oltre 1.000         4
dtype: int64

Data %:
Meno di 50         41.791045
NaN                26.865672
Meno di 100        12.686567
Tra 100 e 500      12.686567
Tra 500 e 1.000     2.985075
Oltre 1.000         2.985075
dtype: float64


In [6]:
# Plot the data
plt.figure(figsize=(8,6))
plt.xlabel('Makers nella rete sociale virtuale', fontsize=16)
plt.ylabel('Persone', fontsize=16)
plt.title(u"Quanti makers fanno parte della tua rete sociale virtuale?", fontsize=18, y=1.02)
my_colors = seaborn.color_palette("husl", len(profile)) # Set color palette
profile.plot(kind='bar',color=my_colors)
plt.savefig(u"svg/Q038-DimensioneComunitá01.svg")
plt.savefig(u"png/Q038-DimensioneComunitá01.png")
plt.savefig(u"pdf/Q038-DimensioneComunitá01.pdf")



In [7]:
%%capture output

# Save the output as a variable that can be saved to a file
# Order of the choices
profile_order = [np.nan,"Meno di 50","Meno di 100","Tra 100 e 500","Tra 500 e 1.000","Oltre 1.000"]

profile2 = profile.reindex(profile_order)

# Get the distribution of way of living, reindexed
print "Data:"
print profile2
print ""
print "Data %:"
profile2_normalized = data["Q012"].value_counts(normalize=True) * 100
print profile2_normalized.reindex(profile_order)

In [8]:
# Save+show the output to a text file
%save Q038-DimensioneComunitá02.py str(output)
shutil.move("Q038-DimensioneComunitá02.py", "text/Q038-DimensioneComunitá02.txt")


The following commands were written to file `Q038-DimensioneComunitá02.py`:
Data:
NaN                36
Meno di 50         56
Meno di 100        17
Tra 100 e 500      17
Tra 500 e 1.000     4
Oltre 1.000         4
dtype: int64

Data %:
NaN               NaN
Meno di 50        NaN
Meno di 100       NaN
Tra 100 e 500     NaN
Tra 500 e 1.000   NaN
Oltre 1.000       NaN
dtype: float64


In [9]:
# Plot the data
plt.figure(figsize=(8,6))
plt.xlabel('Makers nella rete sociale virtuale', fontsize=16)
plt.ylabel('Persone', fontsize=16)
plt.title(u"Quanti makers fanno parte della tua rete sociale virtuale?", fontsize=18, y=1.02)
my_colors = seaborn.color_palette("husl", len(profile2)) # Set color palette
profile2.plot(kind="bar",color=my_colors)
plt.savefig(u"svg/Q038-DimensioneComunitá02.svg")
plt.savefig(u"png/Q038-DimensioneComunitá02.png")
plt.savefig(u"pdf/Q038-DimensioneComunitá02.pdf")



In [9]: