Comparación de SQL con Python: Cribado|Juicio condicional

El filtrado de datos en SQL utiliza principalmente declaraciones como where, and y in. En Python, hay muchas maneras de implementar la detección, utilizando los operadores lógicos AND & o | NOT ~ y la función isin(). Sintamos la diferencia entre los dos:

Resumen:

tipo Referencia de declaración de Python
filtro de condición única

datos[datos['tipo_tienda']=='A']

Filtrado por múltiples valores

datos[datos['uid'].isin([17437864,17402857])]

Filtrar sin ciertos valores

datos[~datos['AB_group'].isin(['A','B'])]

Y filtro condicional

datos[(datos['shop_type']=='A')&(datos['order_count']>=20)]

o proyección condicional

datos[(datos['order_count']>=100)|(datos['order_shops']>=100)]

Filtrado por una sola condición

Ejemplo: detección de tiendas de clase A

select 
*
from t_store_order
where shop_type = 'A'
data[data['shop_type']=='A']

Código detallado:

== se usa para juzgar si dos valores son iguales;

data['shop_type']=='A' devuelve datos booleanos y devuelve aquellas filas cuyo valor es verdadero.

resultado de la operación:


isin() filtrando dentro de algún rango de valores

Ejemplo: consulta de datos para una identificación de usuario determinada

select 
*
from t_store_order
where uid in (17437864,17402857)
data[data['uid'].isin([17437864,17402857])]

Código detallado:

[17437864,17402857] es una lista entre corchetes;

El método isin() se usa para determinar si un valor está en una lista y devuelve un objeto de serie booleana;

data['uid'] son ​​datos en formato Serie, y se puede llamar al método isin();

resultado de la operación:


Excluir ciertos valores (filtro sin ciertos valores)

Ejemplo: Eliminar datos agrupados en A y B

select 
*
from t_store_order
where AB_group not in ('A','B')
data[~data['AB_group'].isin(['A','B'])]

Código detallado:

~ Representa el operador de inversión, True se convertirá en False y False se convertirá en True;

En el párrafo anterior, aprendimos que data[~data['AB_group'].isin(['A','B'])] generará un objeto de serie booleana. Después de agregar el operador de inversión, los valores contenidos originalmente Se vuelve a quitar estos valores.

resultado de la operación:


consultar un rango

Ejemplo: Consultar registros con pedidos mayores a 20

select 
*
from t_store_order
where shop_type = 'A'
data[data['shop_type']=='A']

Filtro multicondiciones

y condición

Ejemplo: Consultar los registros donde el tipo de tienda es A y el número de pedidos es mayor a 20

select 
*
from t_store_order
where shop_type = 'A'
and order_count >= 20
data[(data['shop_type']=='A')&(data['order_count']>=20)]

Código detallado:

& representa el operador AND;

De esta manera (objeto de serie booleana) & (objeto de serie booleana) dos series booleanas realizan una operación AND y devuelven True solo si son True al mismo tiempo;

resultado de la operación:


o condición

Ejemplo: Consulta de registros donde el número de pedidos es mayor a 100 o el número de tiendas donde se realizan pedidos es mayor a 100

select 
*
from t_store_order
where shop_type = 'A'
data[(data['order_count']>=100)|(data['order_shops']>=100)]

Código detallado:

| representa el operador or;

Dos series booleanas se combinan con AND, y si una es verdadera, devolverá verdadero, y si es falsa, el resultado será falso;

resultado de la operación:

 

apéndice:

El método para ejecutar SQL en jupyter notebook: comparar SQL con aprender Python: ejecutar SQL en jupyter notebook_Zi Angzhang's Blog-CSDN Blog

Supongo que te gusta

Origin blog.csdn.net/Sukey666666/article/details/130715419
Recomendado
Clasificación