es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Jupyter: La entrada de Python no aparece de forma intermitente en el bucle For.

Estoy escribiendo un script para recorrer datos donde la mayoría de las entradas se pueden manejar automáticamente, sin embargo, en algunos casos, puede ser necesario que un humano introduzca una decisión.

El propósito es relacionar dos conjuntos de datos donde existe la posibilidad de múltiples coincidencias. Si hay múltiples coincidencias, puedo decidir cuál utilizar en función del nombre y el nombre de nivel 2.

i = 1
main_secondary_map = {}

for index, row in df_main():
    id = row['id']
    print(row[['id','name']].values)
    df = df_secondary[df_secondary['id'] == id][['Secondary ID','Name','Level 2 Name']].drop_duplicates()
    print(df)

    print(i)
    (time.sleep(.02)) 

    if len(df) == 0:
        secondary_id = 0
    elif len(df) == 1:
        secondary_id = df.iloc[0,0]
    else:
        secondary_id = input('Secondary ID:')
    (time.sleep(.02)) 
    main_secondary_map[id] = secondary_id

    clear_output(wait=True)


    (time.sleep(.02)) 
    i += 1

El problema es que cuando se ejecuta este código, pasará por varias iteraciones (el número de veces exitosas varía, aparentemente al azar), luego se quedará atascado antes de mostrar el input.

He insertado un pequeño retraso basado en una respuesta sobre el ordenamiento, pero esto no ha ayudado.

¿Alguna idea de por qué a veces el input no se muestra?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Es posible que la entrada no se esté mostrando debido a que el kernel de Jupyter Notebook está ocupado realizando otras operaciones o ejecutando otras celdas. Una posible solución es intentar interrumpir el kernel haciendo clic en el botón “Interrumpir el kernel”, que se parece a un signo de detener, en la barra de herramientas. Esto debería forzar al kernel a detener cualquier operación actual y permitir que se muestre la entrada. Otra solución podría ser intentar ejecutar el script fuera de Jupyter Notebook, como en un script o IDE de Python, para ver si el problema persiste.

Comments are closed.