Я застрял. я пытаюсь закодировать эту формулу excel в коде python, но после поиска и проверки кодов diff я не могу найти решение.

=+ЕСЛИ(И(K2="inscrito_registro")*ИЛИ(L2<>"inscrito_registro")*ИЛИ($L2<>"no_necesario")*ИЛИ($L2<>""),"con carga"," грех карга")

Я пробовал использовать этот код в python, но это неправильно:

Df['Carga']=np.where(df['Регистрационный статус'] == "inscrito_registro" и np.where(df['Estado Cancelacion Cargas'] != "inscrito_registro","con carga","sin carga "))

Я только что попробовал этот код avodin, чтобы попробовать «или», и это неправильно. Любое предложение?

Спасибо

0
Jorge - 27 Сен 2022 в 21:22
Добро пожаловать в Stack Overflow! пожалуйста, ознакомьтесь с рекомендациями здесь при публикации воспроизводимого примера stackoverflow.com/help/minimal-reproducible-example
 – 
Naveed
27 Сен 2022 в 21:26

1 ответ

Попробуйте следующее, вам не нужен второй np.where в первом

df['Carga']=np.where(
    (df['Registration Status'] == "inscrito_registro") & 
    (df['Estado Cancelacion Cargas'] != "inscrito_registro"),
    "con carga",
    "sin carga")

Использовать | для условия ИЛИ, и вам может понадобиться поместить условия ИЛИ в круглые скобки

 df['Carga']=np.where( 
     (df['Registration Status'] == "inscrito_registro") & 
     ((df['Estado Cancelacion Cargas'] != "inscrito_registro") |
      (df['Estado Cancelacion Cargas'] != "no_necesario")  |
      (df['Estado Cancelacion Cargas'] != "")
     ),
     "con carga", "sin carga")
0
Naveed 27 Сен 2022 в 21:59
Спасибо, это работает. проблема возникает, когда я пытаюсь сделать это: df['Carga']=np.where( (df['Registration Status'] == "inscrito_registro") & (df['Estado Cancelacion Cargas'] != "inscrito_registro") или (df['Estado Cancelacion Cargas'] != "no_necesario") или (df['Estado Cancelacion Cargas'] != "") "con carga", "sin carga") df
 – 
Jorge -
27 Сен 2022 в 21:36
Посмотреть обновленное решение
 – 
Naveed
27 Сен 2022 в 21:59
Пожалуйста, подумайте о том, чтобы принять ответ, если он решил ваш первоначальный вопрос. Спасибо!
 – 
Naveed
27 Сен 2022 в 21:59