Filtrar Pandas DataFrame basado en el índice

En este artículo, veremos cómo filtrar Pandas Dataframe según el índice. Podemos filtrar Dataframe basado en índices con la ayuda de filter() . Este método se utiliza para crear subconjuntos de filas o columnas del marco de datos de acuerdo con las etiquetas en el índice especificado. Podemos usar la siguiente sintaxis para filtrar Dataframe según el índice.

Sintaxis: DataFrame.filter (items=Ninguno, like=Ninguno, regex=Ninguno, axis=Ninguno)

Parámetros :

  • elementos: lista de ejes de información para restringir (no todos deben estar presentes).
  • como: Mantener el eje de información donde «arg in col == True»
  • Regex: mantener el eje de información con re.search (regex, col) == True
  • eje : El eje para filtrar. De forma predeterminada, este es el eje de información, ‘índice’ para Series, ‘columnas’ para DataFrame

Devoluciones: este método devuelve el mismo tipo de objeto que el objeto de entrada.

Ejemplo 1:

El siguiente programa es para entender cómo filtrar Dataframe basado en índices de valores numéricos.

Python

# import pandas
import pandas as pd
 
# define data
data = {"Name": ["Mukul", "Suraj", "Rohit",
                 "Rahul", "Mohit", "Nishu",
                 "Rishi", "Manoj", "Mukesh",
                 "Rohan"],
        "Age": [22, 23, 25, 21, 27, 24, 26,
                23, 21, 27],
        "Qualification": ["BBA", "BCA", "BBA",
                          "BBA", "MBA", "BCA",
                          "MBA", "BBA", "BCA",
                          "MBA"]
        }
 
# define dataframe
df = pd.DataFrame(data, columns=['Name', 'Age', 'Qualification'])
 
# display original dataframe
print("\n Original Dataframe \n", df)
 
# filter 5 index value
df_1 = df.filter(items=[5], axis=0)
 
# display result
print("\n Display only 5 index value \n", df_1)
 
# filter only 5 and 8  index value
df_2 = df.filter(items=[5, 8], axis=0)
 
# display result
print("\n Display only 5 and 8 index value \n", df_2)

Producción:

Ejemplo 2:

El siguiente programa es para saber cómo filtrar Dataframe basado en índices de valores no numéricos.

Python

# import pandas
import pandas as pd
 
# define data
data = {"Name": ["Mukul", "Suraj", "Rohit",
                 "Rahul", "Mohit"],
        "Age": [22, 23, 25, 21, 27],
        "Qualification": ["BBA", "BCA", "BBA",
                          "BBA", "MBA"]
        }
 
# define dataframe
df = pd.DataFrame(data, columns=['Name', 'Age', 'Qualification'], index=[
                  'Person_A', 'Person_B', 'Person_C', 'Person_D', 'Person_E'])
 
# display original dataframe
print("\n Original Dataframe \n", df)
 
# filter Person_B index value
df_1 = df.filter(items=['Person_B'], axis=0)
 
# display result
print("\n Display only Person_B index value \n", df_1)
 
# filter only Person_B and Person_D index value
df_2 = df.filter(items=['Person_B', 'Person_D'], axis=0)
 
# display result
print("\n Display Person_B and Person_D index value \n", df_2)

Producción:

Ejemplo 3:

El siguiente programa es para comprender cómo filtrar Dataframe para índices que contienen una string específica.

Python

# import pandas
import pandas as pd
 
# define data
data = {"Name": ["Mukul", "Suraj", "Rohit",
                 "Rahul", "Mohit"],
        "Age": [22, 23, 25, 21, 27],
        "Qualification": ["BBA", "BCA", "BBA",
                          "BBA", "MBA"]
        }
 
# define dataframe
df = pd.DataFrame(data, columns=['Name', 'Age', 'Qualification'], index=[
                  'Person_A', 'Person_B', 'Person_AB', 'Person_c', 'Person_AC'])
 
# display original dataframe
print("\n Original Dataframe \n", df)
 
# filter index that contain Person_A string.
df_1 = df.filter(like='Person_A', axis=0)
 
# display result
print("\n display index that contain Person_A string \n", df_1)

Producción

Ejemplo 4:

El siguiente programa es para saber cómo filtrar Dataframe por índices que contienen un carácter específico.

Python

# import pandas
import pandas as pd
 
# define data
data = {"Name": ["Mukul", "Suraj", "Rohit",
                 "Rahul", "Mohit"],
        "Age": [22, 23, 25, 21, 27],
        "Qualification": ["BBA", "BCA", "BBA",
                          "BBA", "MBA"]
        }
 
# define dataframe
df = pd.DataFrame(data, columns=['Name', 'Age', 'Qualification'], index=[
                  'Person_A', 'Person_B', 'Person_AB', 'Person_C', 'Person_BC'])
 
# display original dataframe
print("\n Original Dataframe \n", df)
 
# filter index that contain an specific character.
df_1 = df.filter(like='B', axis=0)
 
# display result
print("\n display all indexes that contain Specific character \n", df_1)

Producción

Publicación traducida automáticamente

Artículo escrito por mukulsomukesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *