As well as a huge range of functionality there also exist lectures on use case for Numpy and the whole of Scipy. If you want to now want explore this material please do so. There is little value in trying to reproduce it here.
One example we will explore however is the polynomial as it gives an example of how numpy
can help us produce very powerful efficient code efficiently. First what is numpy Polynomial module?
from numpy.polynomial import Polynomial as poly
my_poly = poly([1,2,3])
print(my_poly)
my_poly
Once created we can use help/autocompletion to explore/access the various functions available. We can access find the derivative of our polynomial:
my_poly.deriv()
If we assign this to a variable the the object is another polynomial:
my_deriv = my_poly.deriv()
print(my_deriv)
my_deriv
my_integ = my_poly.integ()
print(my_integ)
my_integ
Note that even numpy
can't know the value of the constant when you integrate, though you can set it:
help(my_poly.integ)