私は2つのnumpy.ndarrayを持っていて、data2をdata1でマスクするための洗練されていない解決策(4行以上のコードを使用)を見つけました。私はエレガントな解決策を求めています。
例。
data1 = np.array([[1,2,np.nan,4,5],[np.nan,7,np.nan,9,np.nan],[11,12,13,14,np.nan],[np.nan,17,np.nan,19,20]])
data2 = np.ones((6, 4))
print data1
[[ 1. 2. nan 4. 5.]
[ nan 7. nan 9. nan]
[ 11. 12. 13. 14. nan]
[ nan 17. nan 19. 20.]]
>>> print data2
[[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]
[ 1. 1. 1. 1.]]
私が望む結果は次のとおりです。
[[ 1. 2. 1 4. 5.]
[ 1 7. 1 9. 1]
[ 11. 12. 13. 14. 1]
[ 1 17. 1 19. 20.]]
つまり、data1がnanである場合、data2の値です。
ヘルプと提案を事前に感謝します。私は4行以上のコードでこれを行いました