Ниже приведен пример моего data frame
. Я создал столбец B, в котором значение для каждой строки равно NaN
Column A Column B
1 Xo NaN
2 Es-Ab NaN
3 Pr-Ab NaN
4 Pr-Bs NaN
5 Tr-Ab NaN
6 Ab NaN
7 Es NaN
8 Es-Bs NaN
. Мне нужно вставить значения в столбец B, основываясь на строковом значении в столбце A. Нужно написать оператор case, т.е. если / функция elif / else в python возможно. Нужна помощь с логикой / синтаксисом в python, так как перед вставкой значений мне также нужно проверить, равно ли значение строки в столбце B NaN
.
Блок псевдокода, который я предполагаю, выглядит следующим образом:
if (column A contains X) and (column B = NaN) then ABC
if (column A contains Ab or Pr) and (column B = NaN) then DEF
if (column A contains Es) and (column B = Nan) then GHI
else Other
И мне нужно оценить это для каждой строки моего фрейма данных и назначить значение строки в столбце B согласно вышеуказанный лог c. Таким образом, мой окончательный результат будет выглядеть так:
Column A Column B
1 Xo ABC
2 Es-Ab DEF
3 Pr-Ab DEF
4 Pr-Bs DEF
5 Tr-Ab DEF
6 Ab DEF
7 Es GHI
8 Es-Bs GHI