Я пытаюсь получить новые столбцы a
и b
на основе следующего фрейма данных:
a_x b_x a_y b_y
0 13.67 0.0 13.67 0.0
1 13.42 0.0 13.42 0.0
2 13.52 1.0 13.17 1.0
3 13.61 1.0 13.11 1.0
4 12.68 1.0 13.06 1.0
5 12.70 1.0 12.93 1.0
6 13.60 1.0 NaN NaN
7 12.89 1.0 NaN NaN
8 11.68 1.0 NaN NaN
9 NaN NaN 8.87 0.0
10 NaN NaN 8.77 0.0
11 NaN NaN 7.97 0.0
Если b_x
или b_y
равны 0.0
(в этом случае они имеют одинаковые значения, если они оба существуют), то a_x
и b_y
имеют одинаковые значения, поэтому я беру любой из них в качестве новых столбцов a
и b
; если b_x
или b_y
равны 1.0
, это разные значения, поэтому я вычисляю средние значения a_x
и a_y
как значения a
, беру b_x
и b_y
как b
;
Если a_x, b_x
или a_y, b_y
не равно нулю, я возьму существующие значения как a
и b
.
Мои ожидаемые результаты будут такими:
a_x b_x a_y b_y a b
0 13.67 0.0 13.67 0.0 13.670 0
1 13.42 0.0 13.42 0.0 13.420 0
2 13.52 1.0 13.17 1.0 13.345 1
3 13.61 1.0 13.11 1.0 13.360 1
4 12.68 1.0 13.06 1.0 12.870 1
5 12.70 1.0 12.93 1.0 12.815 1
6 13.60 1.0 NaN NaN 13.600 1
7 12.89 1.0 NaN NaN 12.890 1
8 11.68 1.0 NaN NaN 11.680 1
9 NaN NaN 8.87 0.0 8.870 0
10 NaN NaN 8.77 0.0 8.770 0
11 NaN NaN 7.97 0.0 7.970 0
Как я могу получить результат выше? Спасибо.