def diff(self, n=<NUM_LIT:1>, axis=-<NUM_LIT:1>):
out = super(Array, self).diff(n=n, axis=axis)<EOL>try:<EOL><INDENT>out.x0 = self.x0 + self.dx * n<EOL><DEDENT>except AttributeError:  <EOL><INDENT>out.x0 = self.xindex[n]<EOL><DEDENT>return out<EOL>
Calculate the n-th order discrete difference along given axis.

        The first order difference is given by ``out[n] = a[n+1] - a[n]`` along
        the given axis, higher order differences are calculated by using `diff`
        recursively.

        Parameters
        ----------
        n : int, optional
            The number of times values are differenced.
        axis : int, optional
            The axis along which the difference is taken, default is the
            last axis.

        Returns
        -------
        diff : `Series`
            The `n` order differences. The shape of the output is the same
            as the input, except along `axis` where the dimension is
            smaller by `n`.

        See Also
        --------
        numpy.diff
            for documentation on the underlying method