有两个阿拉斯像这样:In [1]: arr_1
Out[1]:
array([[ 0., nan, 2., 3.],
[ 4., 5., 6., 7.],
[ 8., 9., 10., 11.],
[ 12., nan, 14., 15.],
[ 16., 17., 18., 19.]])
In [2]: arr_2
Out[2]:
array([[ -0., -1., -2., nan],
[ -4., -5., -6., -7.],
[ -8., -9., -10., -11.],
[-12., -13., -14., -15.],
[-16., -17., -18., -19.]])
您可能希望忽略第1列和第3列。我们可以为此创建一个面具:
^{pr2}$
结合这些掩码,我们可以选择正确的列:In [7]: mask_1 & mask_2
Out[7]: array([ True, False, True, False], dtype=bool)
In [8]: arr_1[:, mask_1 & mask_2]
Out[8]:
array([[ 0., 2.],
[ 4., 6.],
[ 8., 10.],
[ 12., 14.],
[ 16., 18.]])
如果我们决定过滤掉无效行,我们需要交换轴:In [9]: mask_1 = np.isfinite(arr_1).all(axis=1)
In [10]: mask_2 = np.isfinite(arr_2).all(axis=1)
In [11]: arr_1[mask_1 & mask_2, :]
Out[11]:
array([[ 4., 5., 6., 7.],
[ 8., 9., 10., 11.],
[ 16., 17., 18., 19.]])
看来你把斧头弄坏了,没别的了。在