¿Cómo cambiar los valores de índice en Pandas?

El índice se usa para identificar de forma única una fila en Pandas DataFrame . No es más que una etiqueta para una fila. Si no especificamos valores de índice para el DataFrame durante la creación, tomará valores predeterminados, es decir, números que comienzan de 0 a n-1, donde n indica un número de filas.

Vamos a crear un marco de datos

Ejemplo :

Python3

# import necessary packages
import pandas as pd
 
# create a dataframe
Students = pd.DataFrame({'Admission_id': ['AB101', 'AB102', 'AB103',
                                          'AB104', 'AB105'],
                         'Student_id': ['21GFG1', '21GFG2', '21GFG3',
                                        '21GFG4', '21GFG5'],
                         'Student_Name': ['Akhil', 'Mahesh Babu', 'Warner',
                                          'Virat', 'ABD'],
                         'Height': [5.9, 6.2, 5.6, 5.8, 5.10]})
# display dataframe
Students

Producción:

Método 1: Usar set_index()

Para cambiar los valores del índice, necesitamos usar el método set_index que está disponible en pandas y permite especificar los índices.

Sintaxis

DataFrameName.set_index(“column_name_to_setas_Index”,inplace=Verdadero/Falso)

dónde,

  • El parámetro inplace acepta True o False, lo que especifica que el cambio en el índice es permanente o temporal.
  • Verdadero indica que el cambio es Permanente.
  • Falso indica que el cambio es Temporal.

Ejemplo 1:

Cambiando el índice temporalmente especificando inplace=False (o) podemos hacerlo sin especificar el parámetro inplace porque por defecto el valor inplace es falso.

Python3

# import necessary packages
import pandas as pd
 
# create a dataframe
Students = pd.DataFrame({'Admission_id': ['AB101', 'AB102', 'AB103',
                                          'AB104', 'AB105'],
                         'Student_id': ['21GFG1', '21GFG2', '21GFG3',
                                        '21GFG4', '21GFG5'],
                         'Student_Name': ['Akhil', 'Mahesh Babu', 'Warner',
                                          'Virat', 'ABD'],
                         'Height': [5.9, 6.2, 5.6, 5.8, 5.10]})
 
# setting admission id as index but temporarily
Students.set_index("Admission_id")

Producción:

Pero cuando mostramos los datos en DataFrame, aún permanece como antes porque la operación realizada no se guardó, ya que es una operación temporal.

Explicación : como no especificamos el parámetro en el lugar en el método set_index , por defecto se toma como falso y se considera una operación temporal.

Ejemplo 2:

Cambiar el índice de forma permanente especificando inplace=True en el método set_index .

Ejemplo :

Python3

# import necessary packages
import pandas as pd
 
# create a dataframe
Students = pd.DataFrame({'Admission_id': ['AB101', 'AB102', 'AB103',
                                          'AB104', 'AB105'],
                         'Student_id': ['21GFG1', '21GFG2', '21GFG3',
                                        '21GFG4', '21GFG5'],
                         'Student_Name': ['Akhil', 'Mahesh Babu', 'Warner',
                                          'Virat', 'ABD'],
                         'Height': [5.9, 6.2, 5.6, 5.8, 5.10]})
 
# setting student id as index but permanently
Students.set_index("Student_id", inplace=True)
 
# display dataframe
Students

Producción:

 

Ejemplo 3:

Cuando queremos recuperar solo columnas particulares en lugar de todas las columnas, siga el siguiente código

Python3

# import necessary packages
import pandas as pd
 
# create a dataframe
Students = pd.DataFrame({'Admission_id': ['AB101', 'AB102', 'AB103',
                                          'AB104', 'AB105'],
                         'Student_id': ['21GFG1', '21GFG2', '21GFG3',
                                        '21GFG4', '21GFG5'],
                         'Student_Name': ['Akhil', 'Mahesh Babu', 'Warner',
                                          'Virat', 'ABD'],
                         'Height': [5.9, 6.2, 5.6, 5.8, 5.10]})
 
# setting student id as index but permanently
Students.set_index("Student_id", inplace=True)
 
# display dataframe with required columns
Students[["Student_Name", "Height"]]

Producción

Publicación traducida automáticamente

Artículo escrito por akhilvasabhaktula03 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 *