One of the most common task is standardizing a vector. This can be used for example to compare expression data or to standardize ranges before applying machine learning methods.
In standard python it could be written like this:
#Suppose a list l with many elements mean_tmp = std_tmp = 0.0 for val in l: mean_tmp += val std_tmp += val*val mean = mean_tmp/len(l) std = std_tmp/len(l) - mean*mean standardized_l = [] for val in l: standardized_l.append((val-mean)/std)
By using List comprehensions the task is somewhat shorter:
mean_tmp = std_tmp = 0.0 for val in l: mean_tmp += val std_tmp += val*val mean = mean_tmp/len(l) std = std_tmp/len(l) - mean*mean standardized_l = [(val-mean)/std for val in l]
With numpy:
#The list must first be converted to a numpy array, otherwise #no methods nor vectorized operations would be available l_np = np.array(l) standardized_l = (l_np-l_np.mean())/l_np.std()