我有数据存储在n行和p列的numpy数组中.
我想检查哪些行是完全有限的,并将此信息存储在布尔数组中,以将其用作某处的掩码.
我已经解决了p = 2的情况,但是想要解决所有情况
我的代码看起来像这样:
raw_test = np.array([[0, numpy.NaN], [0, 0], [numpy.NaN, numpy.NaN]])
test = np.isfinite(raw_test)
def multiply(x):
return x[0] * x[1]
numpy.apply_along_axis(multiply, 1, test)
Run Code Online (Sandbox Code Playgroud)
您可以使用numpy.isnan检查哪些项目NaN,然后查找所有True使用的行的索引numpy.all和numpy.where.
>>> np.isnan(raw_test)
array([[False, True],
[False, False],
[ True, True]], dtype=bool)
>>> np.all(np.isnan(raw_test), axis=1)
array([False, False, True], dtype=bool)
>>> np.where(np.all(np.isnan(raw_test), axis=1))[0]
array([2])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2344 次 |
| 最近记录: |