From: Sebastian H. <ha...@ms...> - 2004-06-23 22:06:31
|
Hi, please take a look at this: >>> na.sum( na.zeros((2,6)) ) [0 0 0 0 0 0] >>> na.sum( na.zeros((2,6)) , 0) [0 0 0 0 0 0] >>> na.sum( na.zeros((2,6)) , 1) [0 0] >>> na.sum( na.zeros((2,6)) , 2) [0 0] >>> na.sum( na.zeros((2,6)) , 3) [0 0] >>> na.sum( na.zeros((2,6)) , 4) [0 0] >>> na.sum( na.zeros((2,6)) , -1) [0 0] >>> na.sum( na.zeros((2,6)) , -2) [0 0 0 0 0 0] >>> na.sum( na.zeros((2,6)) , -3) [0 0] >>> na.sum( na.zeros((2,6)) , -4) [0 0] >>> I think here should be a ValueError exception thrown rather than defaulting to the '-1'-axis. Comments ? Also this applies to (all?) other functions that have an 'axis' argument. And further I just found that putting "too many slicings" to an array also gets silently ignored: >>> b.shape (7, 128, 128, 128) >>> b[2,2,2,2,3] Traceback (most recent call last): File "<input>", line 1, in ? IndexError: too many indices. BUT: >>> b[2:3 , 2:3 , 2:3 , 2:3 , 2:3 , 2:3] [[[[ 0.]]]] I find this very confusing !! Is there any good reason not to have the "IndexError" exception in all cases ? Thanks, Sebastian Haase |