Filtro de pandas por índice

Filtro de pandas por índice

Usando "Filtro ()", podemos filtrar un marcado de datos basado en índices. Con esta técnica, las filas o columnas de DataFrame serán un subconjunto de DataFrame original de acuerdo con las etiquetas especificadas en el índice dado.

Existen diferentes métodos para filtrar las filas de DataFrame en función de su índice. Pero en este tutorial, nuestro enfoque principal es la función Filtro (). Verifiquemos primero su sintaxis para que podamos usarla para filtrar los datos. El método devuelve un objeto del mismo tipo que el que se usa como entrada.

Sintaxis:

DataFrame_Object.Filtro (elementos = ninguno, como = ninguno, regex = none, axis = none)

Parámetros:

    1. elementos: Requiere una lista de las etiquetas del eje que desea filtrar.
    2. como: Mantenga el eje de información donde "arg en col == verdadero". La etiqueta de cadena del eje que queremos filtrar está tomada.
    3. Regex: Mantenga el eje de información donde.Search (regex, col) == Verdadero.
    4. eje: El eje sobre el cual filtrar el 'índice' o 0, 'columnas' o 1, ninguno. Por defecto, este es el eje de información. Para la serie, es "índice". Para DataFrame, son "columnas".

Como hemos visto la sintaxis, demostramos la función Filtro () en los siguientes ejemplos:

Ejemplo 1: Filtro por índice numérico

Cree el DateFrame con 2 columnas que contiene 5 registros y devuelve solo las filas particulares basadas en el índice.

importación de pandas
pasatiempos = pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5']],
'Hobbies': ['Música', 'Singing', 'Dance', 'Play', 'Drink'])
Imprimir (pasatiempos)
imprimir()
# Obtenga solo la primera fila
Imprimir (pasatiempos.Filtro ([0], axis = 0))
imprimir()
# Obtenga solo la quinta fila
Imprimir (pasatiempos.Filtro ([4], eje = 0))


Producción:

stud_name aficiones
0 Stud 1 Music
1 semental 2 cantando
2 Stud 3 Dance
3 Stud 4 Play
4 semental 5 bebida
stud_name aficiones
0 Stud 1 Music
stud_name aficiones
4 semental 5 bebida


Explicación:

    1. En la primera salida, devolvimos la primera fila usando index-0.
    2. En la segunda salida, devolvimos la quinta fila usando índice-4.

Ejemplo 2: Filtro por múltiples índices numéricos

Cree el DateFrame con 2 columnas que contiene 5 registros y devuelve solo las filas particulares basadas en el índice a la vez.

importación de pandas
pasatiempos = pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5']],
'Hobbies': ['Música', 'Singing', 'Dance', 'Play', 'Drink'])
# Obtén las dos primeras filas
Imprimir (pasatiempos.Filtro (elementos = [0,1], eje = 0))
imprimir()
# Obtenga solo filas de segunda, tercera y quinta
Imprimir (pasatiempos.Filtro (elementos = [1,2,4], eje = 0))


Producción:

stud_name aficiones
0 Stud 1 Music
1 semental 2 cantando
stud_name aficiones
1 semental 2 cantando
2 Stud 3 Dance
4 semental 5 bebida


Explicación:

    1. En la primera salida, devolvimos la primera y segunda filas a la vez usando índice-0 y 1.
    2. En la segunda salida, devolvimos las filas segunda, tercera y quinta usando índice-1, 2 y 4.

Ejemplo 3: Filtrar por índice no numérico

Cree el DateFrame con 3 columnas que contiene 4 registros y devuelve solo las filas particulares por separado en función del índice. Aquí, el índice es de ".Tipo de cadena ".

importación de pandas
viaje = pandas.DataFrame ('From': ['City 1', 'City 1', 'City 3', 'City 4'],
'a': ['AP', 'USA', 'Ciudad 2', 'Ciudad 1'],
'Distancia': [200,500,466,100],
índice = ['pasajero 1', 'pasajero 2', 'pasajero 3', 'pasajero 4'])
Impresión (viaje)
imprimir()
# Obtenga la fila donde índice-'passenger 3 '.
Impresión (viaje.Filtro (elementos = ['pasajero 3'], axis = 0))
imprimir()
# Obtenga la fila donde index-'passenger 1 '.
Impresión (viaje.Filtro (elementos = ['pasajero 1'], axis = 0))


Producción:

desde la distancia
Pasajero 1 Ciudad 1 AP 200
Pasajero 2 Ciudad 1 USA 500
Pasajero 3 Ciudad 3 Ciudad 2 466
Pasajero 4 Ciudad 4 Ciudad 1 100
desde la distancia
Pasajero 3 Ciudad 3 Ciudad 2 466
desde la distancia
Pasajero 1 Ciudad 1 AP 200


Explicación:

    1. En la primera salida, devolvimos la tercera fila usando índice- "Passenger 3".
    2. En la segunda salida, devolvimos la primera fila usando el índice- "Passenger 1".

Ejemplo 4: Filtrar por múltiples índices no numéricos

Devolver las últimas tres filas a la vez basadas en el índice.

importación de pandas
viaje = pandas.DataFrame ('From': ['City 1', 'City 1', 'City 3', 'City 4'],
'a': ['AP', 'USA', 'Ciudad 2', 'Ciudad 1'],
'Distancia': [200,500,466,100],
índice = ['pasajero 1', 'pasajero 2', 'pasajero 3', 'pasajero 4'])
# Obtenga la fila donde índice- 'pasajero 2', 'pasajero 3', 'pasajero 4'
Impresión (viaje.filtro (elementos = ['pasajero 2', 'pasajero 3', 'pasajero 4'], axis = 0))


Producción:

desde la distancia
Pasajero 2 Ciudad 1 USA 500
Pasajero 3 Ciudad 3 Ciudad 2 466
Pasajero 4 Ciudad 4 Ciudad 1 100

Ejemplo 5: Filtrar usando el parámetro Me gusta

Utilicemos el parámetro "Me gusta" para devolver las filas en función del índice como - "Passenger" y "R 1", por separado.

importación de pandas
viaje = pandas.DataFrame ('From': ['City 1', 'City 1', 'City 3', 'City 4'],
'a': ['AP', 'USA', 'Ciudad 2', 'Ciudad 1'],
'Distancia': [200,500,466,100],
índice = ['pasajero 1', 'pasajero 2', 'pasajero 3', 'pasajero 4'])
# Obtenga la fila donde el índice es como 'pasajero'.
Impresión (viaje.Filtro (como = 'pasajero', axis = 0))
imprimir()
# Obtenga la fila donde el índice es como 'R 1'.
Impresión (viaje.Filtro (como = 'r 1', axis = 0))


Producción:

desde la distancia
Pasajero 1 Ciudad 1 AP 200
Pasajero 2 Ciudad 1 USA 500
Pasajero 3 Ciudad 3 Ciudad 2 466
Pasajero 4 Ciudad 4 Ciudad 1 100
desde la distancia
Pasajero 1 Ciudad 1 AP 200


Explicación:

    1. Todos los índices contienen "pasajero". Entonces, todas las filas fueron devueltas en la primera salida.
    2. Solo un índice es como "R 1". Entonces, la fila con índice - "Passenger 1" se devuelve en la segunda salida.

Ejemplo 6:

Consideremos el marco de datos con los índices: ['sravan', 'ravan', 'pavan', 'ravi'] y luego devuelvan las filas con índices como "n" y "m" por separado.

importación de pandas
viaje = pandas.DataFrame ('From': ['City 1', 'City 1', 'City 3', 'City 4'],
'a': ['AP', 'USA', 'Ciudad 2', 'Ciudad 1'],
'Distancia': [200,500,466,100],
index = ['sravan', 'ravan', 'pavan', 'ravi'])
# Obtenga la fila donde el índice es como 'n'.
Impresión (viaje.Filtro (como = 'n', axis = 0))
imprimir()
# Obtenga la fila donde el índice es como 'M'.
Impresión (viaje.Filtro (como = 'm', axis = 0))


Producción:

desde la distancia
Sravan City 1 AP 200
Ravan City 1 USA 500
Pavan City 3 City 2 466
Marco de datos vacío
Columnas: [desde, a, distancia]
Índice: []


Explicación:

    1. Hay tres filas donde el índice incluye "n".
    2. No hay fila donde los índices incluyen "M". Entonces, se devuelve el cuadro de datos vacío.

Conclusión

Le enseñamos cómo recuperar las filas DataFrame en función de sus índices en Pandas. Vimos la sintaxis de la función filtre () primero para comprender sus parámetros y el funcionamiento de la función de filtro. Implementamos los diferentes ejemplos para enseñarle cómo filtrar un marco de datos utilizando los índices de valores numéricos y valores no numéricos. También implementamos algunos ejemplos para explicar cómo puede filtrar un marco de datos para los índices que contienen un carácter o cadena particular al pasar el parámetro similar a la función Filtro ().