Basic array manipulations¶
In [1]:
import numpy as np
In [2]:
x = np.arange(1, 11)
In [3]:
x
Out[3]:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
In [4]:
x_row = x.reshape((1, -1))
x_row
Out[4]:
array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]])
In [5]:
x_col = x[:, np.newaxis]
x_col
Out[5]:
array([[ 1],
[ 2],
[ 3],
[ 4],
[ 5],
[ 6],
[ 7],
[ 8],
[ 9],
[10]])
In [6]:
np.dot(x_col, x_row)
Out[6]:
array([[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20],
[ 3, 6, 9, 12, 15, 18, 21, 24, 27, 30],
[ 4, 8, 12, 16, 20, 24, 28, 32, 36, 40],
[ 5, 10, 15, 20, 25, 30, 35, 40, 45, 50],
[ 6, 12, 18, 24, 30, 36, 42, 48, 54, 60],
[ 7, 14, 21, 28, 35, 42, 49, 56, 63, 70],
[ 8, 16, 24, 32, 40, 48, 56, 64, 72, 80],
[ 9, 18, 27, 36, 45, 54, 63, 72, 81, 90],
[ 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]])
In [7]:
x_row * x_row
Out[7]:
array([[ 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]])
In [8]:
x_row * x_col
Out[8]:
array([[ 1, 2, 3, ..., 9, 10],
[ 2, 4, 6, ..., 18, 20],
...
[ 9, 18, 27, ..., 81, 90],
[ 10, 20, 30, ..., 90, 100]])