In [1]:
%pylab inline

# ---- Standard Libraries
import os
import random
import sys
import time

# ---- Scientific & Plotting Libraries
import bokeh
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import scipy as sp


Populating the interactive namespace from numpy and matplotlib

In [2]:
sys.version_info


Out[2]:
sys.version_info(major=3, minor=4, micro=3, releaselevel='final', serial=0)

In [13]:
runs = []
for i in range(20):
    start = time.time()
    x = [random.randint(1, 26) for _ in range(i * (10**6))]
    run = time.time() - start
    runs.append([len(x), run])
    
for run in runs:
    print("{:,} random integers generated in {:0.3f} seconds"\
          .format(run[0], run[1]))


0 random integers generated in 0.051 seconds
1,000,000 random integers generated in 2.050 seconds
2,000,000 random integers generated in 3.950 seconds
3,000,000 random integers generated in 5.961 seconds
4,000,000 random integers generated in 7.860 seconds
5,000,000 random integers generated in 10.198 seconds
6,000,000 random integers generated in 11.956 seconds
7,000,000 random integers generated in 13.845 seconds
8,000,000 random integers generated in 15.956 seconds
9,000,000 random integers generated in 17.718 seconds
10,000,000 random integers generated in 19.932 seconds
11,000,000 random integers generated in 21.532 seconds
12,000,000 random integers generated in 23.364 seconds
13,000,000 random integers generated in 25.827 seconds
14,000,000 random integers generated in 28.188 seconds
15,000,000 random integers generated in 29.908 seconds
16,000,000 random integers generated in 31.748 seconds
17,000,000 random integers generated in 34.421 seconds
18,000,000 random integers generated in 36.008 seconds
19,000,000 random integers generated in 37.930 seconds

In [10]:
start = time.time()
avg = sum(x) / len(x)
run = time.time() - start
print("The average of {:,}".format(len(x)), 
      "random integers from 1 to 26 is {:0.2f}".format(avg),
      "and took {:0.3f} seconds to compute.".format(run))


The average of 10,000,000 random integers from 1 to 26 is 13.50 and took 0.804 seconds to compute.

In [ ]: