#!/usr/bin/env python # coding: utf-8 # # Data Spread # # 1. Mean # 2. Stardard Deviation # 3. Variance # # ##### --------------------------------------------- # In[1]: from __future__ import division import numpy as np import math import pandas as pd print np.__version__ print pd.__version__ # ## Python Way # In[2]: def mean(x): return sum(x) / len(x) # In[3]: def variance(x): return (standard_deviation(x))**2 # In[4]: def standard_deviation(lst): m = mean(lst) return math.sqrt(float(reduce(lambda x, y: x + y, map(lambda x: (x - m) ** 2, lst))) / len(lst)) # In[5]: X = [1, 2, 3, 4, 5] print 'Mean: {}'.format(mean(X)) print 'Variance: {}'.format(variance(X)) print 'Standard Deviation: {}'.format(standard_deviation(X)) # ## Numpy Way # In[6]: def mean(x): return np.mean(x) # In[7]: def variance(x): return np.var(x) # In[8]: def standard_deviation(x): return np.std(x) # In[9]: X = [1, 2, 3, 4, 5] print 'Mean: {}'.format(mean(X)) print 'Variance: {}'.format(variance(X)) print 'Standard Deviation: {}'.format(standard_deviation(X))