Estoy creando un marco de datos de pandas leyendo datos de MySql. Siempre habrá una fila en el marco de datos a la vez. Desde este marco de datos, intento acceder a algunas columnas.
try:
if str(df_from_sql_query_1['age']) != "":
age_temp = str(df_from_sql_query_1['age'])
age = age_temp.strip()
else:
print("Age is missing")
....
....
Pero cuando hago una impresión, el valor del índice se agrega al valor de edad real.
print("Age is", age)
Salida:
Age is 0 32.0
Mientras que espero que la salida sea:
Age is 32.0
¿Qué cambios debo hacer para obtener la salida deseada?
3 respuestas
Cuando está haciendo df_from_sql_query_1['age']
pandas todavía accede a él como una columna y no como el valor. necesitas especificar la fila. Si tiene una fila, acceda a la fila 0 con
age_temp = df_from_sql_query_1.loc[0,'age']
Puede transformar cualquier marco de datos en una cadena sin un índice transformándolo como tal
print df.to_string(index=False)
Puede verificar los otros parámetros en la documentación .
Alternativamente, como su marco de datos siempre contiene una sola fila, puede darle una oportunidad (no sé acerca de su función df_from_sql_query_1 ())
age = str(df_from_sql_query_1[0]['age']).strip()
Creo que este reemplazo debería funcionar:
age_temp = str(df_from_sql_query_1['age'].values[0])
age = age_temp.strip()
Preguntas relacionadas
Nuevas preguntas
python-3.x
Para preguntas sobre la programación de Python que son específicas de la versión 3+ del lenguaje. Use la etiqueta [python] más genérica en todas las preguntas de Python, y solo agregue esta si su pregunta es específica de la versión. Utilice las etiquetas [python-2.x] para las preguntas de Python 2.