无论如何,要创建一个numpy数组,np.nan
当索引超出范围时返回该数组?例如
x = np.array([1,2,3])
x[1] # 2
x[-2] # np.nan
x[5] # np.nan
Run Code Online (Sandbox Code Playgroud)
我发现最接近的东西是np.pad
。
我知道我可以编写一个包装器类,但是我想知道是否有任何有效的numpy方法可以做到这一点。
In [360]: x = np.array([1,2,3])
In [361]: x[1]
Out[361]: 2
Run Code Online (Sandbox Code Playgroud)
np.take
让您可以通过模式控制进行索引。默认情况下,如果索引越界,则引发错误(有关其他选项,请参阅文档):
In [363]: np.take(x,1)
Out[363]: 2
In [364]: np.take(x,-2)
Out[364]: 2
In [365]: np.take(x,5)
----
IndexError: index 5 is out of bounds for size 3
Run Code Online (Sandbox Code Playgroud)
您可以编写一个小函数,将其包装在 a 中,在 的情况下try/except
返回。np.nan
IndexError
请记住,这np.nan
是一个浮点数,而您的示例数组是整数数据类型。
归档时间: |
|
查看次数: |
140 次 |
最近记录: |