为什么numpy在索引高于数组形状的索引的数组时会返回一个空数组? 这有点像一个错误或者这有什么优势? 我希望会出现一条错误消息,就像你试图绘制一个超出范围的索引一样。 例如:
>>> import numpy as np
>>> from matplotlib import pyplot as plt
>>> a = np.array([[1, 2, 3], [4, 5, 6]])
>>> np.shape(a)
(2, 3)
这显然没有意义,因为a是一个包含3列的数组,但是不是返回错误消息,而是获得一个空数组,此外,您可以使用它进行操作:
>>> (a[:, 44:55])
array([], shape=(2, 0), dtype=int64)
>>> np.sum(a[:, 44:55], 1)
array([0, 0])
这有什么好处?我只是看不到它的用途。有没有办法防止这种情况发生?