# shuffle_arrays_unison: shuffle arrays in a consistent fashion

A function for NumPy arrays in unison.

from mlxtend.preprocessing import shuffle_arrays_unison

## Example 1 - Scaling a Pandas DataFrame

import numpy as np
from mlxtend.preprocessing import shuffle_arrays_unison
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
y = np.array([1, 2, 3])
print('X:\n%s' % X)
print('y:\n%s' % y)

X:
[[1 2 3]
[4 5 6]
[7 8 9]]
y:
[1 2 3]

X2, y2 = shuffle_arrays_unison(arrays=[X, y], random_seed=3)
print('X2:\n%s' % X2)
print('y2:\n%s' % y2)

X2:
[[4 5 6]
[1 2 3]
[7 8 9]]
y2:
[2 1 3]


## API

shuffle_arrays_unison(arrays, random_seed=None)

Shuffle NumPy arrays in unison.

Parameters

• arrays : array-like, shape = [n_arrays]

A list of NumPy arrays.

• random_seed : int (default: None)

Sets the random state.

Returns

• shuffled_arrays : A list of NumPy arrays after shuffling.

Examples

>>> import numpy as np
>>> from mlxtend.preprocessing import shuffle_arrays_unison
>>> X1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
>>> y1 = np.array([1, 2, 3])
>>> X2, y2 = shuffle_arrays_unison(arrays=[X1, y1], random_seed=3)
>>> assert(X2.all() == np.array([[4, 5, 6], [1, 2, 3], [7, 8, 9]]).all())
>>> assert(y2.all() == np.array([2, 1, 3]).all())
>>>


For more usage examples, please see http://rasbt.github.io/mlxtend/user_guide/preprocessing/shuffle_arrays_unison/