1
respuesta

uso condicional 'Or' y condicional 'And'

En el video selecciones y frecuencias se explica como se debe realizar un filtro que cumpla con un condicional de 3 posibles, el codigo es el propuesto en el video

seleccion = (datos['Tipo'] == 'Casa') | (datos['Tipo'] == 'Casa en condominio') | (datos['Tipo'] == 'Casa de villa') n2 = datos[seleccion].shape[0] n2

Mi pregunta es porque este codigo no funciona, en que casos puedo y en que casos no puedo utilizar el condicional 'or'?

seleccion = (datos['Tipo'] == 'Casa') or (datos['Tipo'] == 'Casa en condominio') or (datos['Tipo'] == 'Casa de villa') n2 = datos[seleccion].shape[0] n2

Lo mismo aplica para el condicional and &

Cordial Saludo

1 respuesta

Hola Cristian! Respondiendo a tu pregunta: En Python, los operadores lógicos or y and se utilizan para evaluar expresiones booleanas, es decir, condiciones que resultan en valores booleanos True o False. Estos operadores se aplican a nivel de objetos completos y devuelven un solo valor booleano como resultado.

En el código propuesto del curso, está sendo realizado una comparación condicional de igualdad == para cada opción del tipo de datos. Para combinar estas comparaciones y obtener una selección conjunta de los datos, debes usar el operador de bits | (OR a nivel de bits) en lugar del operador or (OR lógico).

El operador | se utiliza para combinar las tres comparaciones de igualdad y crear una máscara booleana que selecciona las filas que cumplen alguna de las condiciones.

Recuerda que el operador or se puede utilizar en expresiones condicionales más simples, pero cuando necesitas combinar múltiples condiciones como en este caso, debes utilizar el operador de bits | o & para trabajar a nivel de bits y obtener el resultado deseado.

Espero haber respondido tu duda :) Abrazos!