Это может быть полезно, и мне интересно, почему другие классы не делают это так, как это делает numpy.
Один особенно полезный момент, когда я заметил, что это, если ваш numpyмассив является изображением, и у вас есть обработчик событий для щелчков мыши, который дает вам event.xdata
и event.ydata
в виде чисел с плавающей запятой, тогда вы все равно можете получить интересующую область, используя срезы, без необходимости преобразования их в пиксельные координаты.Например, предположим, что вы обрезали изображение или увеличивали его, щелкая и перетаскивая выделение - положение мыши на изображении обычно будет соответствовать субпиксельным координатам, за исключением специального случая, когда изображение отображается в масштабе 1: 1.
В качестве примечания, не целочисленные обозначения срезов (даже комплексные числа в срезах) могут использоваться в их классах трюков индекса r_
и c_
, например:
>>>np.r_[0:3:0.1]
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ,
1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1,
2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9])
>>>np.c_[-1:1:9j]
array([[-1. ],
[-0.75],
[-0.5 ],
[-0.25],
[ 0. ],
[ 0.25],
[ 0.5 ],
[ 0.75],
[ 1. ]])