Shuffle a numpy array
I think this is very important to note.
You can use random.shuffle(a)
if a
is 1-D numpy array.If it is N-D (where N > 2) than
random.shuffle(a)
will spoil your data and return some random thing.As you can see here:
import randomimport numpy as npa=np.arange(9).reshape((3,3))random.shuffle(a)print a[[0 1 2] [3 4 5] [3 4 5]]
This is a known bug (or feature?) of numpy.
So, use only numpy.random.shuffle(a)
for numpy arrays.