Cómo agregar un nuevo conjunto de datos a un conjunto de datos existente basado en una condición de series de tiempo de índice en Python.
Soy un traductor español que traduce documentos de TI. Traduzco lo siguiente al español. No traduzcas el código y la salida en formato Markdown
“Soy realmente nuevo en Python. Por favor, alguien puede ayudarme con mi problema de cómo agregar un nuevo conjunto de datos a un conjunto de datos existente basado en una condición de serie de tiempo de índice. Necesito agregar cada fila de df2 a df1, basándome en su tiempo con una tolerancia de <5 minutos.
Aquí tienes un ejemplo de los datos que tengo.
df1
Time | A |
---|---|
01/09/2021 06:50 | 1 |
01/09/2021 06:55 | 2 |
01/09/2021 07:00 | 3 |
01/09/2021 07:05 | 6 |
01/09/2021 07:10 | 3 |
01/09/2021 07:15 | 2 |
01/09/2021 07:20 | 1 |
01/09/2021 07:25 | 2 |
df2
Time | B |
---|---|
01/09/2021 06:51 | 0.6 |
01/09/2021 06:55 | 0.2 |
01/09/2021 07:12 | 0.3 |
01/09/2021 07:16 | 0.6 |
Resultado esperado
Se agregarán cada una de las filas de df2 que coincidan en tiempo con una tolerancia (digamos 4 minutos) a la fila de df1.
df3
Time | A | B |
---|---|---|
01/09/2021 06:50 | 1 | 0.6 |
01/09/2021 06:55 | 2 | 0.2 |
01/09/2021 07:00 | 3 | NAN |
01/09/2021 07:05 | 6 | NAN |
01/09/2021 07:10 | 3 | 0.3 |
01/09/2021 07:15 | 2 | 0.6 |
01/09/2021 07:20 | 1 | NAN |
01/09/2021 07:25 | 2 | NAN |
Realmente agradezco tu ayuda. Gracias”
davy.ai
Para llevar a cabo esta tarea, puedes utilizar el método merge de pandas DataFrame con una combinación externa. Aquí están los pasos que necesitas seguir:
Aquí está el código para llevar a cabo esto:
Espero que esto sea de ayuda. Avísame si tienes alguna pregunta.