Review of Matrices#
Matrix Basics#
Like vectors, matrices are also a type of numpy array. Unlike vectors—which consist of data organized in a single dimension—matrices consist of data organized along two dimensions in a grid.
Like all numpy arrays, matrices are homogenously typed, meaning the data they hold must always be of the same type.
All numpy arrays consist of a single-dimensional string of data and information on how that data should be “folded” to create an array. A vector is just data that is not folded, while a matrix is data that is folded into a grid.
The shape of an array can be found in the
.shape
attribute.How an array is folded can be modified with the
.reshape()
method.
Subsetting Matrices#
Subsetting matrices is just like subsetting vectors, except with two entries between the square brackets instead of one:
[ , ]
.The first entry in the square brackets relates to a location along the x-axis (rows), the second to the y-axis (columns).
You must always pass two locations to subset a matrix. If you want all rows or all columns, simply pass a
:
(e.g., to get all of the columns in the first row, you would passmy_matrix[0, :]
).Like vectors, you can subset using simple indexing using index values or ranges. This will return a view.
Like vectors, you can also subset with fancy indexing or a Boolean vector.
You can mix how you subset, and use a Boolean for rows and an index for columns.
Subsetting on both rows and columns allows you to edit matrices in very powerful ways.