code: def unit_vector(vector, **kwargs):
      
      # This also works for a dataframe with columns ['x', 'y', 'z']
      # However, the division operation is picky about the shapes
      # So, remember input vector shape, cast all up to 2d,
      # do the (ugly) conversion, then return unit in same shape as input
      # of course, the numpy-ized version of the input...
      vector = np.array(vector)
      out_shape = vector.shape
      vector = np.atleast_2d(vector)
      unit = vector / np.linalg.norm(vector, axis=1, **kwargs)[:, None]
      return unit.reshape(out_shape)
docs: Returns the unit vector of the vector.