shuffle() {
        if (this.count() < 2) return this;
        return this.__newInstance__(
            this.reduce((p, n) => {
                const index = Math.floor(Math.random() * (p.length - 1) + 1);
                return Array.isArray(p)
                    ? [...p.slice(index, p.length + 1), n, ...p.slice(0, index)]
                    : [p, n];
            }),
            this[__columns__]
        );
    }
Return a shuffled DataFrame rows.
@returns {DataFrame} A shuffled DataFrame.
@example
df.shuffle()