有没有办法创建一个numpy数组,当索引越界时返回
np.nan
?例如:x = np.array([1,2,3])
x[1] # 2
x[-2] # np.nan
x[5] # np.nan
我找到的最接近的东西是 np.pad
。
我知道我可以编写一个包装类,但我想知道是否有任何高效的numpy方法来实现它。
x[-2]
是有效的,对吧?NumPy 支持负数下标。你想覆盖这个功能吗? - Vishnu Dasux[-5]
和x[5]
一样会抛出IndexError
异常。 - Jeppe__getitem__
中,你可以手动或使用try/except检查索引是否越界。我不认为你可以monkeypatch一个np.ndarray
。 - Jeppe