Tiny nit-pick: The `/ \` thing is real ugly. Consider rewriting things like that as: 

    factors = (np.array(self.spacings[to_level])/
                    np.array(self.spacings[from_level]))

Using the parentheses to line-break