Verificación de rangos numéricos#
Ultima actualización: Mar 6, 2023 | YouTube
[1]:
import pandas as pd
pd.__version__
[1]:
'1.5.2'
Opciones#
Borrado del registro.
Conversión a nulo.
Corrección al máximo o mínimo.
Imputación como si fuere un valor nulo.
Actualización a un valor preestablecido.
[2]:
%%writefile /tmp/data.csv
personId,rangecol
1,1
2,3
3,2
4,10
5,0
6,1
7,10
8,9
Overwriting /tmp/data.csv
Los valores de la columna rangecol
están restringidos al rango [1, 2, 3].
[3]:
df = pd.read_csv("/tmp/data.csv")
#
# registros que no cumplen la restricción.
#
df[(df.rangecol < 1) | (df.rangecol > 3)].rangecol
[3]:
3 10
4 0
6 10
7 9
Name: rangecol, dtype: int64
[4]:
#
# Se convierten valores > 3 a 3 y valoes < 1 a 1
#
df.rangecol[df.rangecol > 3] = 3
df.rangecol[df.rangecol < 1] = 1
df
[4]:
personId | rangecol | |
---|---|---|
0 | 1 | 1 |
1 | 2 | 3 |
2 | 3 | 2 |
3 | 4 | 3 |
4 | 5 | 1 |
5 | 6 | 1 |
6 | 7 | 3 |
7 | 8 | 3 |
[5]:
df = pd.read_csv("/tmp/data.csv")
#
# Borrado de registros que no están en el rango
# mediante selección
#
df = df[(df.rangecol >= 1) & (df.rangecol <= 3)]
df
[5]:
personId | rangecol | |
---|---|---|
0 | 1 | 1 |
1 | 2 | 3 |
2 | 3 | 2 |
5 | 6 | 1 |
[6]:
df = pd.read_csv("/tmp/data.csv")
#
# Borrado de registros que no están en el rango
# usando la función drop()
#
df.drop(
df[(df.rangecol < 1) | (df.rangecol > 3)].index,
inplace=True,
)
df
[6]:
personId | rangecol | |
---|---|---|
0 | 1 | 1 |
1 | 2 | 3 |
2 | 3 | 2 |
5 | 6 | 1 |