Похоже, что при печати массива вы получаете это -
array([-1.00000000e-03, -9.00000000e-04, -8.00000000e-04, -7.00000000e-04,
-6.00000000e-04, -5.00000000e-04, -4.00000000e-04, -3.00000000e-04,
-2.00000000e-04, -1.00000000e-04, 4.33680869e-19, 1.00000000e-04,
2.00000000e-04, 3.00000000e-04, 4.00000000e-04, 5.00000000e-04,
6.00000000e-04, 7.00000000e-04, 8.00000000e-04, 9.00000000e-04,
1.00000000e-03, 1.10000000e-03])
Похоже, что есть некоторые проблемы с округлением, когда -0,001 увеличивается на 0,0001, предложенное значением 4,33680869e-19, когда оно должно быть 0. Это означает, что каждое последующее значение в массиве немного меньше, чем показано. Вот почему последнее значение, 0,0011, включается в массив, когда не должно. Это то, что дает вам несоответствие формы.
Я рекомендую сделать это так, чтобы округление не стало проблемой.
x = np.arange(-10,11,1)
x = x/10000
x.shape # gets (21,)
print(x)