Python: Combina un bucle for dentro de un bucle while e itera por filas en un conjunto de datos.
Me gustaría iterar las filas de datos e imprimir la última fila después de alcanzar una condición. Mi código se ve así:
D_sum = 4.39e-05
count = 0
while D_sum < 1:
for row in df.iterrows():
count += 1
D_sum += D_sum
print('count', count)
print('D_sum', D_sum)
print('row', row)
break # Cuando escribo "break", el bucle se ejecuta correctamente, pero no imprime la última fila. Imprime la primera fila de datos.
Si no escribo “break”, el bucle continúa y termina después de ciertas iteraciones.
He intentado escribir este código:
count = 0
flag = True
while flag:
for row in df.iterrows():
count += 1
D_sum += (df[['Di']].sum()).values
print('count:', count)
print('D_sum', D_sum)
print(row)
if D_sum == 1:
flag = False
Pero esto también continúa hasta ciertas iteraciones (bucle infinito). Por favor, ayúdame a corregir el código en python.
davy.ai
Para imprimir la última fila de datos después de alcanzar una condición, puedes modificar tu código de la siguiente manera:
Este código inicializa
final_row
fuera del bucle while, lo establece comoNone
y lo actualiza con larow
actual dentro del bucle for cuando se cumple la condición. Luego sale del bucle for y verifica sifinal_row
ha sido actualizado, y si es así, sale del bucle while. Finalmente, imprime la última fila cuando se sale del bucle while.