Я новичок в Python, и у меня есть некоторые проблемы с объединением данных.
Я хочу разобраться с моими данными, полностью отбрасывая столбцы со значениями Nan.
Но в большинстве моих данных индексы значений Nan отличаются.
Например,
data1 = np.array([1, 2, np.nan, 4, 5])
data2 = np.array([1, np.nan, 3, 4, 6])
data3 = np.array([np.nan, 2, 3, 4, 7])
ind_1 = np.where(~np.isnan(data1))
ind_2 = np.where(~np.isnan(data2))
ind_3 = np.where(~np.isnan(data3))
-----
data1_out = data1[ind_1[0]] # array([ 1., 2., 4., 5.])
data2_out = data2[ind_2[0]] # array([ 1., 3., 4., 6.])
data3_out = data3[ind_3[0]] # array([ 2., 3., 4., 7.])
, но мне нужны массивы типа
data1_out = array([ 4., 5.])
data2_out = array([ 4., 6.])
data3_out = array([ 4., 7.])
.Я думаю, что объединенный массив, такой как
ind_c = intersection(ind_1, ind_2, ind_3)
data1_out = data1[ind_c[0]]
, решит проблему!
, который является общим выводом для других, поэтому, если индекс одного набора данных имеет значение Nan, он влияет на все тот же индексдругого набора данных.
Я не могу найти простой способ сделать это.Любой совет?