I NaN ile bir X dizi bilgisi ve örneğin, NaN satır kaldırmak:X diziden NaN satır çıkarın ve aynı zamanda karşılık gelen satır Y
import numpy as np
x = x[~np.isnan(x)]
Ama karşılık gelen bir Y dizi var
assert len(x) == len(y) # True
x = x[~np.isnan(x)]
assert len(x) == len(y) # False and breaks
Y dizisinden karşılık gelen satırları nasıl silerim?
My X dizisi şöyle görünür:
>>> x
[[ 2.67510434 2.67521927 3.49296989 3.80100625 4. 2.83631844]
[ 3.47538057 3.4752436 3.62245715 4.0720535 5. 3.7773169 ]
[ 2.6157049 2.61583852 3.48335887 3.78088813 0. 2.78791096]
...,
[ 3.60408952 3.60391203 3.64328267 4.1156462 5. 3.77933333]
[ 2.66773792 2.66785516 3.49177798 3.7985113 4. 2.83631844]
[ 3.26622238 3.26615124 3.58861468 4.00121327 5. 3.49693169]]
Ama tuhaf bir şey oluyor:
indexes = ~np.isnan(x)
print indexes
[dışarı]: Sen alıyorsanız
[[ True True True True True True]
[ True True True True True True]
[ True True True True True True]
...,
[ True True True True True True]
[ True True True True True True]
[ True True True True True True]]
Şunu musunuz 'y y = [~ np.isnan (x)]' Yukarıdaki? X = x [~ np.isnan (x)] '_after_ bu ifadeyi çağırmayı unutmayın. – xnx
@xnx, evet bu doğru, aptalca ... – alvas
np.mat (x) [~ np.isnan (x)] 'ı deneyin. np.array (x) [~ np.isnan (x)] 'np.mat boyutlarını korurken 1d dizisini döndürecek. –