¿Cómo puedo ir línea por línea en mi dataframe?
Estoy buscando poder recorrer línea por línea mi dataframe, verificando ciertos criterios (si un miembro del personal está disponible en un momento específico, etc.) y agregarlos a una lista si están disponibles. Para hacer esto, planeo recorrer cada fila de mi dataframe hasta que se hayan recorrido todas ellas. Actualmente tengo algunos problemas, cualquier ayuda es apreciada. En el ejemplo, solo quiero contar las filas, solo para saber si el recorrido realmente funciona. Aquí tienes lo que estoy tratando de replicar al final. Si alguien sabe cómo puede ayudar a lograr el objetivo final, lo agradeceré mucho.
PD: No tengo mucha experiencia, así que perdón si esta es una pregunta tonta, no seas muy duro.
def staffEarlyShift(staff):
x = 1
staff_shift = []
for i in range(len(staff)):
print (x)
x = x + 1
staffEarlyShift(staff_df)
dataframe
staffID days_can_work time_can_work role
0 1 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
1 2 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
2 3 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
3 4 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
4 5 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
5 6 [mon,tue,wed,thur,fri,sat,sun] (9,7) chef
6 7 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
7 8 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
8 9 [mon,tue,wed,thur,fri,sat,sun] (9,7) chef
9 10 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
10 11 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
11 12 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
12 13 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
13 14 [mon,tue,wed,thur,fri,sat,sun] (9,7) chef
14 15 [mon,tue,wed,thur,fri,sat,sun] (9,7) chef
15 16 [mon,tue,wed,thur,fri,sat,sun] (9,7) chef
16 17 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
17 18 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
18 19 [mon,tue,wed,thur,fri,sat,sun] (9,7) waitron
davy.ai
Para recorrer un dataframe línea por línea y verificar ciertos criterios, puedes utilizar la sintaxis
for index, row in df.iterrows():
, dondeindex
es el índice actual de la fila yrow
es la fila completa como un objeto de la serie de Pandas. A partir de ahí, puedes acceder a columnas específicas y verificar sus valores según tus criterios deseados.En el ejemplo dado, la función
staffEarlyShift
está utilizando un bucle de rango en lugar de iterar a través de las filas del dataframe. Para contar el número de filas en el dataframe, puedes utilizarlen(df.index)
odf.shape[0]
.Para lograr el objetivo final de la salida deseada en el enlace proporcionado, necesitarías definir los criterios específicos para la disponibilidad del personal y cómo deseas agregarlos a la lista de salida. Sin conocer los criterios específicos, es difícil proporcionar fragmentos de código específicos. Sin embargo, utilizando la sintaxis
df.iterrows()
, deberías poder iterar a través de las filas de tu dataframe y verificar tus criterios deseados.Como principiante, es importante seguir practicando y hacer preguntas. ¡No existe una pregunta tonta! Sigue explorando y aprendiendo, y te volverás más experimentado en poco tiempo.