En este artículo, aprenderemos a eliminar filas específicas del DataFrame de múltiples índices.
Primero, vamos a crear el DataFrame de múltiples índices. Los pasos se dan a continuación:
Python3
import numpy as np import pandas as pd mldx_arrays = [np.array(['lion', 'lion', 'lion', 'bison', 'bison', 'bison', 'hawk', 'hawk', 'hawk']), np.array(['height', 'weight', 'speed', 'height', 'weight', 'speed', 'height', 'weight', 'speed'])] # creating a multi-index dataframe # with random data multiindex_df = pd.DataFrame( np.random.randn(9, 4), index=mldx_arrays, columns=['Type A', 'Type B', 'Type C', 'Type D']) multiindex_df.index.names = ['level 0', 'level 1'] multiindex_df
Producción:
Ahora, tenemos que eliminar algunas filas del marco de datos de múltiples índices. Entonces, estamos usando el método drop() provisto por el módulo pandas. Esta función suelta filas o columnas en el marco de datos de pandas.
Sintaxis: df.drop(‘etiquetas’, nivel=0, eje=0, inplace=True)
Parámetros:
- etiquetas: el parámetro mencionado entre comillas es el índice o las etiquetas de columna para soltar
- eje: parámetro para soltar etiquetas de las filas (cuando el eje = 0 o ‘índice’) / columnas (cuando el eje = 1 o ‘columnas’).
- nivel: el parámetro indica el número de nivel como 0,1, etc. para ayudar a identificar y manipular un nivel particular de datos en un marco de datos de múltiples índices. Por ejemplo, hay dos niveles en los ejemplos dados, es decir, el nivel 1 y el nivel 2.
- inplace: parámetro para hacer la operación en el lugar y no devolver nada si su valor es True. Aquí en todos los ejemplos, el valor de inplace se da True para que haga la operación y luego no devuelva nada.
Ejemplo 1: para eliminar las filas que contienen ‘león’ en el nivel 0.
Aquí ‘león’ es el nombre de la etiqueta que queremos quitar,
- nivel = 0, eje = 0 que representa las filas que se seleccionarán para su eliminación,
- inplace=True dentro de la función df.drop() para que realice la tarea y no devuelva nada.
Python3
multiindex_df.drop('lion', level=0, axis=0, inplace=True) multiindex_df
Producción:
Ejemplo 2: para eliminar las filas en el nivel 1 que contienen ‘peso’.
Aquí ‘peso’ es el nombre de la etiqueta que queremos colocar en el nivel 1 de cada una de las filas en el nivel 0,
- nivel = 1, eje = 0 que representa las filas que se seleccionarán para su eliminación,
- inplace=True dentro de la función df.drop() para que realice la tarea y no devuelva nada.
Python3
multiindex_df.drop('weight', level=1, axis=0, inplace=True) multiindex_df
Producción:
Ejemplo 3: Para colocar una sola fila con una etiqueta como ‘peso’ en el nivel 1 dentro de ‘bisonte’ en el nivel 0.
Aquí (‘bison’, ‘weight’) están los nombres de las etiquetas que queremos eliminar del nivel 0 y 1 respectivamente. Simplemente significa que solo se eliminará la fila de la etiqueta ‘bisonte’ en el nivel 0, la etiqueta ‘peso’ del nivel 1. No es necesario mencionar el nivel, ya que involucra dos niveles, por lo que solo los nombres de las etiquetas entre comillas funcionarán bien,
- axis=0, que representa que las filas se seleccionarán para su eliminación
- inplace=True dentro de la función df.drop() para que realice la tarea y no devuelva nada.
Python3
multiindex_df.drop(('bison', 'weight'), axis=0, inplace=True) multiindex_df
Producción:
Ejemplo 4: Para eliminar dos filas del nivel 0.
Aquí (‘bisonte’, ‘halcón’) están los nombres de las etiquetas que queremos eliminar del nivel 0 que contiene varias filas del nivel 1. Por lo tanto, la eliminación de las filas del nivel 0 dará como resultado la eliminación de las filas respectivas del nivel 1 también .
- axis=0 que representa que las filas se seleccionarán para su eliminación,
- inplace=True dentro de la función df.drop() para que realice la tarea y no devuelva nada.
Python3
multiindex_df.drop(['bison', 'hawk'], axis=0, inplace=True) multiindex_df
Salida 4:
Publicación traducida automáticamente
Artículo escrito por rijushree100guha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA