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.

DolphinDB: Problemas al llenar los valores NULL en DolphinDB

Ahora tengo una tabla donde se almacenan los datos de los segundos 21, 24, 25 y 28, pero faltan los datos de los segundos 22, 23 y 26. ¿Qué puedo usar para reemplazar los valores NULL? Me gustaría llenar la vacante con el valor del dato no nulo anterior y llenar los del 22 y 23 con el valor del segundo 21.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para reemplazar los valores NULL en los segundos faltantes, puedes utilizar la función de interpolación lineal proporcionada por dolphindb. La función de interpolación lineal es un método analítico para estimar el valor de una función en cualquier punto entre dos valores conocidos asumiendo que la función varía linealmente entre los dos valores conocidos.

    Para los valores faltantes en el segundo 22 y 23, puedes utilizar el primer valor no nulo, es decir, el valor del segundo 21, para completar la vacante. Aquí hay un ejemplo de código para lograr esta tarea:

    // asumimos que la tabla de datos se llama dataTbl y tiene las columnas 'time' y 'value'
    dataTbl = select * from dataTbl order by time;
    
    // interpolamos los valores faltantes con interpolación lineal
    dataTbl = update value: linearInterpolation(value) from dataTbl;
    
    // completamos los segundos 22 y 23 faltantes con el valor del segundo 21
    dataTbl = update value: if(isNull(value), first(dataTbl[value!=NULL].value), value) from dataTbl;
    

    En el código anterior, primero ordenamos la tabla de datos basándonos en la columna time. Luego utilizamos la función linearInterpolation para completar los valores NULL entre los valores no nulos. Finalmente, utilizamos la función update junto con una declaración if para completar los valores NULL de los segundos 22 y 23 con el valor del segundo 21.

Comments are closed.