pandas - resultados de análisis MySql

Srvnkumr:

Estoy usando pandas pitón para ejecutar la consulta en MySQL. En el lado de interfaz de usuario utilizando la API Flot para representar los datos de MySQL. A continuación se muestra la aplicación existente,

query2 = f"""select time, value from NWSTAT 
             where time > \'{from_date}\' 
             and time < \'{to_date}\'"""
result2 = pd.read_sql(query2, engine)
return result2.to_json(orient='records')

Conseguir resultado abajo formato

[{"time": 1581931200000, "value": 0.0}, {"time": 1581931200000, "value": 0.0}, 
 {"time": 1581931200000, "value": 0.0}, {"time": 1581931200000, "value": 0.0}]

A partir de esta respuesta Estoy creando estructura belwo para Flot API de interfaz de usuario en el lado de Javascript,

[[1581931200000,0],[1581931200000,0],[1581931200000,0],[1581931200000,0]]

¿Hay alguna manera de hacer esto en Python lado sí sin ningún iteraciones? Directamente desde resultado de la consulta.

Usando un servidor frasco. lado de la interfaz de usuario: jQuery, Manillar JS

EDIT: En segundo enfoque respuesta aceptada toma menos tiempo .. A continuación se muestra el tiempo necesario para que tanto el enfoque de 240k registros

 First one: --- 1.6689300537109375e-06 seconds ---
 Second one: --- 0.5330650806427002 seconds ---
Jezreel:

El problema es que si tanto convertido columnas de formato de matriz de enteros numpy se cambia a los flotadores.

print (json.dumps(result2.to_numpy().tolist()))

Primera idea es crear listas de .values()diccionarios y convertir a json:

import json

query2 = f"""select time, value from NWSTAT 
             where time > \'{from_date}\' 
             and time < \'{to_date}\'"""
result2 = pd.read_sql(query2, engine)
return json.dumps([list(x.values()) for x in result2.to_dict(orient='records')])

O el cambio por fomrat DataFrame.to_dictcon llas listas y luego usar zipcon listas de mapeo, último convertido a json:

import json

query2 = f"""select time, value from NWSTAT 
             where time > \'{from_date}\' 
             and time < \'{to_date}\'"""
result2 = pd.read_sql(query2, engine)
return json.dumps(list(map(list, zip(*result2.to_dict(orient='l').values()))))

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=351846&siteId=1
Recomendado
Clasificación