@@ -647,7 +647,7 @@ def histogramdd(sample, bins=10, range=None, normed=False, weights=None):
647647 ni [i ], ni [j ] = ni [j ], ni [i ]
648648
649649 # Remove outliers (indices 0 and -1 for each dimension).
650- core = D * [ slice (1 , - 1 )]
650+ core = D * ( slice (1 , - 1 ),)
651651 hist = hist [core ]
652652
653653 # Normalize if normed is True
@@ -1242,11 +1242,11 @@ def gradient(f, *varargs, **kwargs):
12421242 # Needs to keep the specific units, can't be a general unit
12431243 otype = f .dtype
12441244
1245- # Convert datetime64 data into ints . Make dummy variable `y`
1246- # that is a view of ints if the data is datetime64, otherwise
1245+ # Convert datetime64 data into timedelta . Make dummy variable `y`
1246+ # that is a view of timedelta if the data is datetime64, otherwise
12471247 # just set y equal to the the array `f`.
12481248 if f .dtype .char in ["M" , "m" ]:
1249- y = f .view ('int64' )
1249+ y = f .view (otype )
12501250 else :
12511251 y = f
12521252
@@ -1266,19 +1266,19 @@ def gradient(f, *varargs, **kwargs):
12661266 slice2 [axis ] = slice (2 , None )
12671267 slice3 [axis ] = slice (None , - 2 )
12681268 # 1D equivalent -- out[1:-1] = (y[2:] - y[:-2])/2.0
1269- out [slice1 ] = (y [slice2 ] - y [slice3 ])/ 2.0
1269+ out [tuple ( slice1 ) ] = (y [tuple ( slice2 ) ] - y [tuple ( slice3 ) ])/ 2.0
12701270
12711271 slice1 [axis ] = 0
12721272 slice2 [axis ] = 1
12731273 slice3 [axis ] = 0
12741274 # 1D equivalent -- out[0] = (y[1] - y[0])
1275- out [slice1 ] = (y [slice2 ] - y [slice3 ])
1275+ out [tuple ( slice1 ) ] = (y [tuple ( slice2 ) ] - y [tuple ( slice3 ) ])
12761276
12771277 slice1 [axis ] = - 1
12781278 slice2 [axis ] = - 1
12791279 slice3 [axis ] = - 2
12801280 # 1D equivalent -- out[-1] = (y[-1] - y[-2])
1281- out [slice1 ] = (y [slice2 ] - y [slice3 ])
1281+ out [tuple ( slice1 ) ] = (y [tuple ( slice2 ) ] - y [tuple ( slice3 ) ])
12821282
12831283 # Numerical differentiation: 2st order edges, 2nd order interior
12841284 else :
@@ -1289,21 +1289,23 @@ def gradient(f, *varargs, **kwargs):
12891289 slice2 [axis ] = slice (2 , None )
12901290 slice3 [axis ] = slice (None , - 2 )
12911291 # 1D equivalent -- out[1:-1] = (y[2:] - y[:-2])/2.0
1292- out [slice1 ] = (y [slice2 ] - y [slice3 ])/ 2.0
1292+ out [tuple ( slice1 ) ] = (y [tuple ( slice2 ) ] - y [tuple ( slice3 ) ])/ 2.0
12931293
12941294 slice1 [axis ] = 0
12951295 slice2 [axis ] = 0
12961296 slice3 [axis ] = 1
12971297 slice4 [axis ] = 2
12981298 # 1D equivalent -- out[0] = -(3*y[0] - 4*y[1] + y[2]) / 2.0
1299- out [slice1 ] = - (3.0 * y [slice2 ] - 4.0 * y [slice3 ] + y [slice4 ])/ 2.0
1299+ out [tuple (slice1 )] = - (3.0 * y [tuple (slice2 )] - 4.0 * y [tuple (slice3 )] +
1300+ y [tuple (slice4 )]) / 2.0
13001301
13011302 slice1 [axis ] = - 1
13021303 slice2 [axis ] = - 1
13031304 slice3 [axis ] = - 2
13041305 slice4 [axis ] = - 3
13051306 # 1D equivalent -- out[-1] = (3*y[-1] - 4*y[-2] + y[-3])
1306- out [slice1 ] = (3.0 * y [slice2 ] - 4.0 * y [slice3 ] + y [slice4 ])/ 2.0
1307+ out [tuple (slice1 )] = (3.0 * y [tuple (slice2 )] - 4.0 * y [tuple (slice3 )] +
1308+ y [tuple (slice4 )]) / 2.0
13071309
13081310 # divide by step size
13091311 out /= dx [i ]
@@ -1601,6 +1603,7 @@ def unwrap(p, discont=pi, axis=-1):
16011603 dd = diff (p , axis = axis )
16021604 slice1 = [slice (None , None )]* nd # full slices
16031605 slice1 [axis ] = slice (1 , None )
1606+ slice1 = tuple (slice1 )
16041607 ddmod = mod (dd + pi , 2 * pi ) - pi
16051608 _nx .copyto (ddmod , pi , where = (ddmod == - pi ) & (dd > 0 ))
16061609 ph_correct = ddmod - dd
@@ -3344,6 +3347,7 @@ def _median(a, axis=None, out=None, overwrite_input=False):
33443347 indexer [axis ] = slice (index , index + 1 )
33453348 else :
33463349 indexer [axis ] = slice (index - 1 , index + 1 )
3350+ indexer = tuple (indexer )
33473351
33483352 # Check if the array contains any nan's
33493353 if np .issubdtype (a .dtype , np .inexact ) and sz > 0 :
@@ -3713,12 +3717,12 @@ def trapz(y, x=None, dx=1.0, axis=-1):
37133717 slice1 [axis ] = slice (1 , None )
37143718 slice2 [axis ] = slice (None , - 1 )
37153719 try :
3716- ret = (d * (y [slice1 ] + y [slice2 ]) / 2.0 ).sum (axis )
3720+ ret = (d * (y [tuple ( slice1 ) ] + y [tuple ( slice2 ) ]) / 2.0 ).sum (axis )
37173721 except ValueError :
37183722 # Operations didn't work, cast to ndarray
37193723 d = np .asarray (d )
37203724 y = np .asarray (y )
3721- ret = add .reduce (d * (y [slice1 ]+ y [slice2 ])/ 2.0 , axis )
3725+ ret = add .reduce (d * (y [tuple ( slice1 ) ]+ y [tuple ( slice2 ) ])/ 2.0 , axis )
37223726 return ret
37233727
37243728
@@ -4009,15 +4013,15 @@ def delete(arr, obj, axis=None):
40094013 pass
40104014 else :
40114015 slobj [axis ] = slice (None , start )
4012- new [slobj ] = arr [slobj ]
4016+ new [tuple ( slobj ) ] = arr [tuple ( slobj ) ]
40134017 # copy end chunck
40144018 if stop == N :
40154019 pass
40164020 else :
40174021 slobj [axis ] = slice (stop - numtodel , None )
40184022 slobj2 = [slice (None )]* ndim
40194023 slobj2 [axis ] = slice (stop , None )
4020- new [slobj ] = arr [slobj2 ]
4024+ new [tuple ( slobj ) ] = arr [tuple ( slobj2 ) ]
40214025 # copy middle pieces
40224026 if step == 1 :
40234027 pass
@@ -4027,9 +4031,9 @@ def delete(arr, obj, axis=None):
40274031 slobj [axis ] = slice (start , stop - numtodel )
40284032 slobj2 = [slice (None )]* ndim
40294033 slobj2 [axis ] = slice (start , stop )
4030- arr = arr [slobj2 ]
4034+ arr = arr [tuple ( slobj2 ) ]
40314035 slobj2 [axis ] = keep
4032- new [slobj ] = arr [slobj2 ]
4036+ new [tuple ( slobj ) ] = arr [tuple ( slobj2 ) ]
40334037 if wrap :
40344038 return wrap (new )
40354039 else :
@@ -4056,11 +4060,11 @@ def delete(arr, obj, axis=None):
40564060 newshape [axis ] -= 1
40574061 new = empty (newshape , arr .dtype , arr .flags .fnc )
40584062 slobj [axis ] = slice (None , obj )
4059- new [slobj ] = arr [slobj ]
4063+ new [tuple ( slobj ) ] = arr [tuple ( slobj ) ]
40604064 slobj [axis ] = slice (obj , None )
40614065 slobj2 = [slice (None )]* ndim
40624066 slobj2 [axis ] = slice (obj + 1 , None )
4063- new [slobj ] = arr [slobj2 ]
4067+ new [tuple ( slobj ) ] = arr [tuple ( slobj2 ) ]
40644068 else :
40654069 if obj .size == 0 and not isinstance (_obj , np .ndarray ):
40664070 obj = obj .astype (intp )
@@ -4092,7 +4096,7 @@ def delete(arr, obj, axis=None):
40924096
40934097 keep [obj , ] = False
40944098 slobj [axis ] = keep
4095- new = arr [slobj ]
4099+ new = arr [tuple ( slobj ) ]
40964100
40974101 if wrap :
40984102 return wrap (new )
@@ -4267,13 +4271,13 @@ def insert(arr, obj, values, axis=None):
42674271 newshape [axis ] += numnew
42684272 new = empty (newshape , arr .dtype , arr .flags .fnc )
42694273 slobj [axis ] = slice (None , index )
4270- new [slobj ] = arr [slobj ]
4274+ new [tuple ( slobj ) ] = arr [tuple ( slobj ) ]
42714275 slobj [axis ] = slice (index , index + numnew )
4272- new [slobj ] = values
4276+ new [tuple ( slobj ) ] = values
42734277 slobj [axis ] = slice (index + numnew , None )
42744278
1D59
slobj2 = [slice (None )] * ndim
42754279 slobj2 [axis ] = slice (index , None )
4276- new [slobj ] = arr [slobj2 ]
4280+ new [tuple ( slobj ) ] = arr [tuple ( slobj2 ) ]
42774281 if wrap :
42784282
EE67
return wrap (new )
42794283 return new
@@ -4302,8 +4306,8 @@ def insert(arr, obj, values, axis=None):
43024306 slobj2 = [slice (None )]* ndim
43034307 slobj [axis ] = indices
43044308 slobj2 [axis ] = old_mask
4305- new [slobj ] = values
4306- new [slobj2 ] = arr
4309+ new [tuple ( slobj ) ] = values
4310+ new [tuple ( slobj2 ) ] = arr
43074311
43084312 if wrap :
43094313 return wrap (new )
0 commit comments