Since your array looks like a binary image of the lowercase letter "a", I assume that you mean scaling in the sense of the image.
To do this, I would recommend using the imresize function in scipy.misc (which, in my opinion, is taken from PIL). Here is an example:
import numpy as np from scipy.misc import imresize img = np.array([ [0, 0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 1, 1, 1, 1, 0], [0, 1, 0, 0, 0, 1, 1, 1], [0, 0, 0, 0, 0, 0, 1, 1], [0, 0, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 0, 0, 0, 0, 1, 1], [1, 1, 0, 0, 0, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 1, 1, 1, 1, 0, 1, 1] ]) newimg = imresize(img, (6,5))
and newimg then
array([[ 0, 0, 255, 255, 0], [ 0, 255, 255, 255, 255], [ 0, 0, 0, 0, 255], [255, 255, 255, 255, 255], [255, 255, 0, 0, 255], [255, 255, 255, 255, 255]], dtype=uint8)
which is not ideal, but you can easily change 255 to 1. In addition, if you get the version for Scipy development, currently version 9, then you have some other options (scroll down to imresize - no anchor), which you can enter to increase such as interpolation method and PIL mode.