Updates to the NumPy notebook for the novice course:
Removes references to Pandas in the introduction as we don't cover this at all (and the preceding text refers to 'three critical libraries' while listing four libraries)
Removes the names and links to web pages for specific authors for the mentioned libraries (Matplotlib, IPython, NumPy) in favour of just linking to their respect project web pages, to reflect that all three projects are now actively developed by teams of contributors.
Rearrange some of the content sections - I have moved the section on array creation routines earlier to allow using np.arange and np.linspace in later sections after they have been introduced and also moved the array data types section earlier to allow making the point that object arrays do not offer the same performance advantages over lists when discussing the speed up of vectorised operations.
Added some notes on the constant array creation routines np.ones, np.zeros, np.full and a cautionary example of the dangers of using np.arange with non-integer arguments.
Added some precautionary notes on the dangers of using NumPy implicit data typing rules when constructing arrays with sequences of objects of mixed types.
Fleshed out the array indexing section to give more explanations of the example commands.
Given a more complete description of the rules for broadcasting arrays and introduced the simpler case of broadcasting with scalars when first used (previously there was no explanation of why multiplying an array by a scalar was valid)
Create a new section on reduction operations to expand on the previous brief note on sum specifically.
Changed the previous section on matrix multiplication using the dot function / method to instead use the @ matrix multiplication operator
Added more links to the official NumPy / Python documentation throughout when introducing new concepts, and added a further reading section with links to some additional resources at the end.
Updates to the NumPy notebook for the novice course:
np.arange
andnp.linspace
in later sections after they have been introduced and also moved the array data types section earlier to allow making the point that object arrays do not offer the same performance advantages over lists when discussing the speed up of vectorised operations.np.ones
,np.zeros
,np.full
and a cautionary example of the dangers of usingnp.arange
with non-integer arguments.sum
specifically.dot
function / method to instead use the@
matrix multiplication operator