Checkout numpy.where
http://docs.scipy.org/doc/numpy/reference/generated/numpy.where.html
To keep the same dimensionality you are going to need a fill value. In the example below I use 0, but you could also use np.nan
np.where(arr>3, arr, 0)
returns
array([[[[ 0, 11],
[ 0, 22],
[ 0, 33]],
[[ 4, 44],
[ 5, 55],
[ 6, 66]]],
[[[ 7, 77],
[ 8, 88],
[ 9, 99]],
[[ 0, 32],
[ 0, 33],
[ 0, 34]]]])