Cómo obtener el índice de filas en Pandas DataFrame
A través de este tutorial de Python, veremos los diferentes métodos de cómo obtener el índice de filas en Pandas DataFrame. Y mostraré algunos ejemplos de cómo obtener los índices de fila de DataFrames en Python.
En este tutorial de Python, cubriremos los temas relacionados con la obtención del índice de filas de Pandas DataFrames como:
Obtenga el índice de filas en Pandas DataFrame
Los índices de fila también se conocen como índices de marco de datos. Podemos extraer el índice de las filas de Pandas DataFrame en Python usando las funciones existentes y más utilizadas como “DataFrame.index”. Para hacer eso, necesitamos crear un DataFrame usando Pandas.
Cree un DataFrame usando Pandas en Python:
Vamos a crear nuestro propio Pandas DataFrame con múltiples filas para que podamos extraer los índices de un DataFrame usando el «DataFrame.Index» propiedad en Python.
Aquí hemos creado un diccionario de datos de pacientes que tiene los nombres de los pacientes, sus edades y las enfermedades que padecen.
Y luego se pasa al «pandas.Frame de datos» para convertirlo en un DataFrame o una tabla, es decir, en forma de filas y columnas.
# Import necessary libraries
import numpy as np
import pandas as pd
#Create a dictionary which has names of the patients, their ages, and the diseases
data_dict={"Patient":["Kelvin", "John", "smith", "Robin","Williams","Nick","Anyy","Messi","Jonas","Xavier"],
"Age":[13,71,67,8,56,12,31,3,np.nan,17],
"Diesease":["Acidity","Heart Attack","Cancer","Cancer","Heart Attack","Brain Stroke","Acidity","Heart Attack","Brain Stroke","Skin Cancer"],
}
#Create a DataFrame using Pandas
Patients_data=pd.DataFrame(data_dict)
Patients_data
Si miramos la imagen de abajo, un nuevo DataFrame “Pacientes_datos” se crea y la edad de Jonas es NaN, lo que significa No es un número o Ninguno en Python.
Aquí, hemos creado un marco de datos para realizar un análisis adicional que contiene los datos de los pacientes.
Ahora veamos diferentes métodos para los índices de fila de Pandas DataFrames.
Cómo obtener el índice de filas según el valor de la columna en Pandas DataFrame
También podemos obtener los índices de las filas en función del valor de la columna. Supongamos que queremos conocer los índices de los pacientes que sufren un ataque al corazón del marco de datos de pandas anterior.
Aquí estamos tratando de extraer el índices de filas basados en valores de columna. En este ejemplo, extrajimos los índices de fila de los pacientes que realmente sufren ataques cardíacos al filtrar primero a los pacientes con un ataque cardíaco y luego encontrar los índices.
# Get index of rows based on column values in a pandas dataframe
print(Patients_data[Patients_data['Diesease']=="Heart Attack"].index)
- El código de Python anterior «Patients_data[Patients_data[‘Diesease’]==”Heart Attack”]” devuelve el subconjunto del marco de datos del paciente.
- Y esto marco de datos del subconjunto sólo tiene pacientes que están sufriendo un ataque al corazón.
- El «.índice» el operador devuelve los índices del subconjunto anterior pandas DataFrame en python
- La salida [1,4,7] indica que los pacientes que están en estos índices están sufriendo de infartos.
Obtenga índices de fila del marco de datos de pandas según el valor de la columna en Python
Se trata de obtener el índice de filas según el valor de la columna en Pandas DataFrame.
Cómo obtener el índice de filas con múltiples condiciones en Pandas DataFrame
Incluso podemos extraer los índices de fila de un Pandas DataFrame aplicando múltiples condiciones, es decir, saltando múltiples condiciones dentro del DataFrame en Python.
En el ejemplo anterior, nos filtrado los índices de fila de un DataFrame de Pandas basados en un valor de columna única que es enfermedad ==”ataque al corazón”.
Pero aquí estamos obteniendo los índices de filas aplicando múltiples condiciones, es decir, aquí estamos tratando de extraer índices de pacientes que sufren un ataque cardíaco y con un límite de edad superior a 50 en Python.
#Get index of rows by applying multiple conditions to a pandas dataframe in python
Patients_data[(Patients_data['Diesease']=="Heart Attack") &(Patients_data['Age']>50)].index
- El código de Python anterior «Patients_data[(Patients_data[‘Diesease’]==”Ataque al corazón”) &(Patients_data[‘Age’]>50)]” devuelve el subconjunto de la trama de datos del paciente.
- Y este marco de datos de subconjunto solo tiene pacientes que sufren un ataque cardíaco con edades superiores a 50 años.
- El «.índice» operador devuelve los índices de lo anterior subconjunto Pandas DataFrame en Python
- La salida [1,4] indica que los pacientes que se encuentran en estos índices están sufriendo de infartos y su edad está por encima de los 50 años.
Obtenga índices de filas de Pandas DataFrame con múltiples condiciones
Se trata de obtener el índice de filas con múltiples condiciones en Pandas DataFrame.
Cómo obtener el índice de fila de columnas con valor máximo en Pandas DataFrame
Hay una función incorporada llamada “idxmax()” en Python que devolverá los índices de las filas en Pandas DataFrame por filtrando el valor máximo de cada columna.
Mostrará el índice de fila para cada columna numérica que tenga el valor máximo.
A través del siguiente código, estamos tratando de encontrar el índice de la fila que tiene el valor máximo en la columna «Edad».
# Get a row index of a patient with maximum age
Patients_data['Age'].idxmax()
A partir de la imagen de salida a continuación, podemos entender que el paciente que está en la posición de índice «1» tiene más edad, es decir, alrededor de 71 años entre todos los pacientes en el marco de datos de pandas que se crea.
Obtener el índice de pacientes con
antigüedad máxima en los datos
Se trata de obtener el índice de fila de las columnas con el valor máximo en Pandas DataFrame.
Cómo obtener el índice de fila de columnas con valor mínimo en Pandas DataFrame
Hay una función incorporada llamada “idxmin()” en Pandas en Python que devolverá los índices de las filas en Pandas DataFrame por filtrando el valor mínimo de cada columna.
Mostrará el índice de fila para cada columna numérica que tenga el valor mínimo.
A través del siguiente código, estamos tratando de encontrar el índice de la fila que tiene el valor mínimo en la columna «Edad».
# Get a row index of a patient with minimum age
Patients_data['Age'].idxmin()
A partir de la imagen de salida a continuación, podemos entender que el paciente que está en la posición de índice «7» tiene una edad muy inferior, es decir, alrededor de 3 años entre todos los pacientes en el marco de datos de pandas que se crea.
Obtener el índice de pacientes con edad mínima en los datos
Se trata de obtener el índice de fila de las columnas con valor mínimo en Pandas DataFrame.
Conclusión
A través de este tutorial de Python Pandas, hemos cubierto temas relacionados con la obtención de índices de filas en Pandas DataFrame en función de diferentes condiciones. Cubrimos todos estos temas junto con ejemplos para facilitar nuestro viaje de aprendizaje.