How to rotate a numpy array?
Just a short answer. If you need more informations or you don't know how to do it, then I will edit this post and add a small example. 
The right way to rotate your matrix of data points is to do a matrix multiplication. Your rotation matrix would be probably an n*n-matrix and you have to multiply it with every point. If you have your 3d-matrix you have some thing like i*j*k-points for plotting. This means for your case you have to do it i*j*k-times to find the new points. Maybe you should consider an other matrix for plotting which is just a 2D matrix and just store the plotting points and no zero values. 
There are some algorithm to calculate faster the results for low valued matrix, but just google for this. 
Did you understood me or do you still have some questions? Sorry for this rough overview.
Best regards
I have some numpy/scipy issue. I have a 3D array that represent an ellipsoid in a binary way [ 0 out of the ellipsoid].
The thing is I would like to rotate my shape of a certain degree. Do you think it's possible ?
Or is there an efficient way to write directly the ellipsoid equation with the rotation ?