Using numpy

In [2]:
import itertools as it
import numpy as np

Basic array properties

  • dtype
  • shape
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Creation of arrays

  • array
  • arange
  • zeros, ones, empty
  • zeros_like, ones_like, empty_like
  • eye, diag
  • linspace, logspace
  • fromiter, fromfunction, fromstring, fromregex
  • record arrays
In [26]:
%%file christmas.txt
4 Calling Birds
5 Gold Rings
6 Geese a-Laying
7 Swans a-Swimming
8 Maids a-Milking
9 Ladies Dancing
10 Lords a-Leaping
11 Pipers Piping
12 Drummers Drumming
Overwriting christmas.txt

Indexing

  • ranges
  • step size
  • reverse slicing
  • fancy indexing
  • np.ix_
  • np.where
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Views and copies

  • = is a view
  • slice is a view
  • Use copy() to make a copy
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Strides

  • strides for dtypes
  • np.lib.stride_tricks.as_strided
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Vectorization and ufuncs

  • operators
  • cumsum
  • log, log10, log1p
  • exp, exp2, expm1
  • clip
  • vectorize
  • Using timeit
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Reshaping

  • reshape
  • ravel
  • order
  • squeeze
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Broadcasting

  • Broadcasting rules
  • Adding vector to matrix
  • Array expansion with np.newarray or None
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Exercise: Create the following 12 by 12 multiplicaiton table using numpy

  • fromiter
  • fromfuction
  • outer
  • broadcasting
array([[  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12],
       [  2,   4,   6,   8,  10,  12,  14,  16,  18,  20,  22,  24],
       [  3,   6,   9,  12,  15,  18,  21,  24,  27,  30,  33,  36],
       [  4,   8,  12,  16,  20,  24,  28,  32,  36,  40,  44,  48],
       [  5,  10,  15,  20,  25,  30,  35,  40,  45,  50,  55,  60],
       [  6,  12,  18,  24,  30,  36,  42,  48,  54,  60,  66,  72],
       [  7,  14,  21,  28,  35,  42,  49,  56,  63,  70,  77,  84],
       [  8,  16,  24,  32,  40,  48,  56,  64,  72,  80,  88,  96],
       [  9,  18,  27,  36,  45,  54,  63,  72,  81,  90,  99, 108],
       [ 10,  20,  30,  40,  50,  60,  70,  80,  90, 100, 110, 120],
       [ 11,  22,  33,  44,  55,  66,  77,  88,  99, 110, 121, 132],
       [ 12,  24,  36,  48,  60,  72,  84,  96, 108, 120, 132, 144]])
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Reductions and the axis argument

  • mean, min, max, sum, ptp, median, var, std
  • axis argument
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Splitting arrays

  • split
  • np.lib.pad
  • hsplit, vsplit, dsplit
  • squeeze after split
In [ ]:

In [ ]:

In [ ]:

In [ ]:

Combining arrays

  • vstack, hstack, dstack
  • concatenate
  • r_, c_
In [ ]:

In [ ]:

In [ ]:

In [ ]: