Task: Transform-by-output-target-schema (source dataset: github-pipelines)

Your task is to create a data transformation pipeline in Python using pandas libraries.

Given Source Tables below, and a Target Schema provided by users that demonstrates how the desired output table should look like schematically, please write Python pandas code that can transform the Source Tables into an output table, that matches the schema/structure given by the Target Schema.  Please note that the data values in the Target Schema are intended to represent the format and layout of the output table, but may not exactly match the actual data generated from the Source Tables when the python code is run on the Source Tables.

Use operations such as merge, groupby, pivot, apply, or any appropriate python or pandas steps. Your code should save the resulting DataFrame to a CSV file named 'output.csv'. Ensure that the code is executable and can be run directly as is, in a Python environment with pandas installed.

Source Tables:


Table #1
Filename: source_0.csv
Sample Rows in Markdown:
|   IdCausa | Causa                                      |
|----------:|:-------------------------------------------|
|         0 | Sin datos                                  |
|         1 | Condiciones del medio acuático             |
|         2 | Accidente, caída o zambullida accidentales |
|         3 | Falta de competencia acuática              |
|         4 | Excesiva confianza o asunción de riesgo    |
|         5 | Drogas, alcohol, otros tóxicos             |
|         6 | Falta de supervisión o vigilancia          |
|         7 | Navegación o deportes acuáticos            |
|         8 | Suicidio                                   |
|         9 | Enfermedad, ataque cardíaco o ACVA         |


Table #2
Filename: source_1.csv
Sample Rows in Markdown:
|   IdDeteccion | Deteccion                                  |
|--------------:|:-------------------------------------------|
|             0 | Sin datos                                  |
|             1 | Acompañante, familiar, amigo               |
|             2 | Ciudadano                                  |
|             3 | Servicios de emergencia, policia, bomberos |
|             4 | Personal sanitario                         |
|             5 | Socorrista en servicio                     |
|             6 | Socorrista no en servicio                  |
|             7 | Personal instalacion                       |
|             8 | Otro                                       |


Table #3
Filename: source_2.csv
Sample Rows in Markdown:
| Fecha      |   IdAhogado |   IdPersona | Localidad                                    | Provincia     | CCAA     | Hora   |   Latitud_inc |   Longitud_inc | Sexo   | Edad   | Nacionalidad   | Origen     | Extraccion                        | Causa                                      | TipoAhogamiento                            | Factor                              | Intervencion                                     | Pronostico                                | Localizacion                   | Riesgo    | Reanimacion                                 | Vigilancia               | Actividad                          | Deteccion                                  |   ID | Estacion             | Estado   |   Latitud_est |   Longitud_est |   T_med |   T_max |   T_min |   Precipitaciones |   Presion |   Dir. vi. |   V_Viento |   Nubosidad | ProfNievecm   | InsolacHoras   |   Distancia |
|:-----------|------------:|------------:|:---------------------------------------------|:--------------|:---------|:-------|--------------:|---------------:|:-------|:-------|:---------------|:-----------|:----------------------------------|:-------------------------------------------|:-------------------------------------------|:------------------------------------|:-------------------------------------------------|:------------------------------------------|:-------------------------------|:----------|:--------------------------------------------|:-------------------------|:-----------------------------------|:-------------------------------------------|-----:|:---------------------|:---------|--------------:|---------------:|--------:|--------:|--------:|------------------:|----------:|-----------:|-----------:|------------:|:--------------|:---------------|------------:|
| 30/11/2017 |        4063 |        3701 | LAS PALMAS DE GRAN CANARIA, PUERTO DE LA LUZ | GRAN CANARIA  | CANARIAS | 10:00  |      0.491136 |     -0.269087  | Hombre | 59.0   | India          | Extranjero | Acompañante, familiar, amigo      | Accidente, caída o zambullida accidentales | Ahogamiento secundario a accidente         | Sin datos                           | Rescate por personal adiestrado con equipamiento | Ahogamiento mortal                        | Puertos, embarcaderos, amarres | Sin datos | SVA por SEM                                 | No vigilado              | Actividad cerca del agua           | Acompañante, familiar, amigo               | 8381 | AYAMONTE, ISLA CANEL | SPAIN    |      0.649161 |     -0.129057  |    12.3 |    16.7 |     7.9 |               0   |    1014.6 |        343 |          8 |       1     |               |                |   1255.27   |
| 03/12/2017 |        4064 |        3702 | TAZACORTE                                    | LA PALMA      | CANARIAS | 12:16  |      0.500055 |     -0.313223  | Hombre | 70.0   | España         | Sin datos  | Ciudadano                         | Sin datos                                  | Ahogado con sintomas de aspiración de agua | Edad, Enfermedad, Enfermedad Mental | Asistencia por transeúntes no adiestrados        | Ahogamiento no mortal con hospitalizacion | Playas sin vigilancia          | Sin datos | RCP temprana por transeuntes no adiestrados | No vigilado              | Natación recreativa                | Ciudadano                                  | 8381 | AYAMONTE, ISLA CANEL | SPAIN    |      0.649161 |     -0.129057  |    10.1 |    15.7 |     4.5 |               0   |    1026.7 |         32 |          5 |       1     |               |                |   1367.01   |
| 03/12/2017 |        4065 |        3703 | SA CALOBRA                                   | MALLORCA      | BALEARES | 14:00  |      0.695535 |      0.0488691 | Hombre |        | España         | Sin datos  | Cuerpo de Seguridad o Emergencias | Sin datos                                  | Posible Ahogamiento                        | Sin datos                           | Recuperación de cadaver                          | Ahogamiento mortal                        | Entorno marino                 | Sin datos | Recuperacion de cadaver                     | No vigilado              | Sin datos                          | Ciudadano                                  | 8312 | SA POBLA-SA CANOVA   | SPAIN    |      0.693754 |      0.0526508 |     8.4 |    12.9 |     3.9 |               0   |    1024.6 |        300 |         10 |       1     |               |                |     21.7198 |
| 04/12/2017 |        4066 |        3704 | PAJARA, COSTA CALMA                          | FUERTEVENTURA | CANARIAS | 17:17  |      0.49147  |     -0.248283  | Mujer  | 78.0   | Alemania       | Extranjero | Ciudadano                         | Sin datos                                  | Ahogado con sintomas de aspiración de agua | Edad, Enfermedad, Enfermedad Mental | Asistencia por transeúntes no adiestrados        | Ahogamiento mortal                        | Playas sin vigilancia          | Sin datos | No RCP temprana y SVA por SEM               | No vigilado              | Natación recreativa                | Ciudadano                                  | 8381 | AYAMONTE, ISLA CANEL | SPAIN    |      0.649161 |     -0.129057  |     9.4 |    16.1 |     2.8 |               0   |    1030.1 |         31 |          5 |       1     |               |                |   1190.36   |
| 04/12/2017 |        4067 |        3705 | GRANADILLA, PLAYA PEÑA MARIA, EL MEDANO      | TENERIFE      | CANARIAS | 10:46  |      0.489335 |     -0.288735  | Hombre |        | España         | Sin datos  | Ciudadano                         | Navegación o deportes acuáticos            | Ahogamiento secundario a accidente         | Sin datos                           | Asistencia por transeúntes no adiestrados        | Ahogamiento mortal                        | Playas con vigilancia          | Sin datos | RCP basica SOS y SVA por SEM                | En horario de vigilancia | Surf-Windsurf-Esqui acuatico-Kyte  | Ciudadano                                  | 8381 | AYAMONTE, ISLA CANEL | SPAIN    |      0.649161 |     -0.129057  |     9.4 |    16.1 |     2.8 |               0   |    1030.1 |         31 |          5 |       1     |               |                |   1329.76   |
| 06/12/2017 |        4068 |        3706 | CABO DE PEÑAS                                | ASTURIAS      | ASTURIAS | 23:00  |      0.762176 |     -0.101905  | Hombre | 46.0   | España         | Local      | Embarcación de rescate            | Naufragio                                  | Perdida de Control                         | Sin datos                           | Rescate por personal adiestrado con equipamiento | Rescate y traslado a supervisión médica   | Franja costera o alta mar      | Sin datos | Sin Reanimacion                             | No vigilado              | Pesca recreativa desde embarcacion | Servicios de emergencia, policia, bomberos | 8014 | GIJON-MUSEL          | SPAIN    |      0.760265 |     -0.0994983 |     9.8 |    14.3 |     5.3 |               0   |    1031.1 |        226 |          8 |       0.375 | 3.0           | 8.0            |     16.4796 |
| 06/12/2017 |        4068 |        3707 | CABO DE PEÑAS                                | ASTURIAS      | ASTURIAS | 23:00  |      0.762176 |     -0.101905  | Hombre | 48.0   | España         | Local      | Embarcación de rescate            | Naufragio                                  | Perdida de Control                         | Sin datos                           | Rescate por personal adiestrado con equipamiento | Rescate y traslado a supervisión médica   | Franja costera o alta mar      | Sin datos | Sin Reanimacion                             | No vigilado              | Pesca recreativa desde embarcacion | Servicios de emergencia, policia, bomberos | 8014 | GIJON-MUSEL          | SPAIN    |      0.760265 |     -0.0994983 |     9.8 |    14.3 |     5.3 |               0   |    1031.1 |        226 |          8 |       0.375 | 3.0           | 8.0            |     16.4796 |
| 06/12/2017 |        4069 |        3708 | LA OLIVA, GRANDES PLAYAS DE CORRALEJO        | FUERTEVENTURA | CANARIAS | 8:28   |      0.500837 |     -0.241418  | Hombre | 78.0   | Alemania       | Extranjero | Ciudadano                         | Enfermedad, ataque cardíaco o ACVA         | Posible Ahogamiento                        | Edad, Enfermedad, Enfermedad Mental | Asistencia por transeúntes no adiestrados        | Ahogamiento mortal                        | Playas sin vigilancia          | Sin datos | No RCP temprana y SVA por SEM               | No vigilado              | Natación recreativa                | Ciudadano                                  | 8381 | AYAMONTE, ISLA CANEL | SPAIN    |      0.649161 |     -0.129057  |    10.3 |    17.1 |     3.6 |               0   |    1031   |          4 |          2 |       1     |               |                |   1119.39   |
| 05/12/2017 |        4070 |        3709 | LAS PALMAS DE GRAN CANARIA, EL RINCON        | GRAN CANARIA  | CANARIAS | 20:28  |      0.490917 |     -0.269854  | Hombre | 42.0   | España         | Local      | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Ahogamiento secundario a accidente         | Peligrosidad del entorno            | Recuperación de cadaver                          | Ahogamiento mortal                        | Entorno marino                 | Sin datos | Recuperacion de cadaver                     | No vigilado              | Pesca desde playa o rocas          | Ciudadano                                  | 8381 | AYAMONTE, ISLA CANEL | SPAIN    |      0.649161 |     -0.129057  |    10.4 |    17.6 |     3.3 |               0   |    1031.8 |         36 |          4 |       1     |               |                |   1258.87   |
| 08/12/2017 |        4071 |        3710 | VIGO, PLAYA DE O PORTIÑO                     | PONTEVEDRA    | GALICIA  | 14:00  |      0.735973 |     -0.153874  | Hombre | 42.0   | España         | Local      | Cuerpo de Seguridad o Emergencias | Naufragio                                  | Posible Ahogamiento                        | Sin datos                           | Recuperación de cadaver                          | Ahogamiento mortal                        | Entorno marino                 | Sin datos | Recuperacion de cadaver                     | No vigilado              | Pesca recreativa desde embarcacion | Ciudadano                                  | 8045 | VIGO/PEINADOR        | SPAIN    |      0.73682  |     -0.15068   |    11.6 |    13.8 |     9.3 |              11.2 |    1028.5 |        218 |          8 |       1     | 8.0           | 8.0            |     16.0178 |


Table #4
Filename: source_3.csv
Sample Rows in Markdown:
|   IdActividad | Actividad                         |
|--------------:|:----------------------------------|
|             0 | Sin datos                         |
|             1 | Baño en reposo                    |
|             2 | Buceo profesional                 |
|             3 | Buceo recreativo con botella      |
|             4 | Embarcación a motor               |
|             5 | Embarcación de vela               |
|             6 | Actividad cerca del agua          |
|             7 | Surf-Windsurf-Esqui acuatico-Kyte |
|             8 | Juegos en el agua                 |
|             9 | Natación competitiva              |


Table #5
Filename: source_4.csv
Sample Rows in Markdown:
|   IdFactor | Factor                                 |
|-----------:|:---------------------------------------|
|          0 | Sin datos                              |
|          1 | Drogas, Alcohol, tóxicos               |
|          2 | Psicológicos, roles de grupo           |
|          3 | Navegación, deportes acuáticos         |
|          4 | Falta de protección o equipamiento     |
|          5 | Peligrosidad del entorno               |
|          6 | Violación de normas de seguridad       |
|          7 | Desconocimiento o falta de información |
|          8 | Falta de supervisión o vigilancia      |
|          9 | Edad, Enfermedad, Enfermedad Mental    |


Target Schema:
| Fecha      |   IdAhogado |   IdPersona | Localidad                       | Provincia   | CCAA            | Hora   |   Latitud_inc |   Longitud_inc | Sexo   | Edad   | Nacionalidad   | Origen     | Extraccion                        | Causa                                      | TipoAhogamiento                            | Factor                   | Intervencion                                                        | Pronostico                              | Localizacion              | Riesgo                                                             | Reanimacion             | Vigilancia   | Actividad                | Deteccion                    |   ID | Estacion                        | Estado   |   Latitud_est |   Longitud_est |   T_med |   T_max |   T_min |   Presion |   Dir. vi. |   V_Viento |   Nubosidad | ProfNievecm   | InsolacHoras   |   Distancia |   IdActividad |   IdCausa |   IdDeteccion |   IdFactor |
|:-----------|------------:|------------:|:--------------------------------|:------------|:----------------|:-------|--------------:|---------------:|:-------|:-------|:---------------|:-----------|:----------------------------------|:-------------------------------------------|:-------------------------------------------|:-------------------------|:--------------------------------------------------------------------|:----------------------------------------|:--------------------------|:-------------------------------------------------------------------|:------------------------|:-------------|:-------------------------|:-----------------------------|-----:|:--------------------------------|:---------|--------------:|---------------:|--------:|--------:|--------:|----------:|-----------:|-----------:|------------:|:--------------|:---------------|------------:|--------------:|----------:|--------------:|-----------:|
| 01/01/2013 |         144 |         166 | IZNAJAR                         | CORDOBA     | ANDALUCIA       | 9:40   |      0.650319 |     -0.0752498 | Hombre | 19.0   | España         | Local      | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Ahogamiento secundario a accidente         | Peligrosidad del entorno | Recuperación de cadaver                                             | Ahogamiento mortal                      | Embalses, Pantanos        | Malas condiciones meterológicas o del agua (Bandera Roja)          | Recuperacion de cadaver | No vigilado  | Circulación en vehiculo  | Acompañante, familiar, amigo | 8419 | GRANADA/AEROPUERTO              | SPAIN    |      0.648972 |     -0.0660316 |     7.7 |    12.3 |     3.1 |    1022.7 |        340 |          3 |       0.75  | 6.0           | 8.0            |     47.5627 |            20 |         2 |             1 |          5 |
| 06/01/2014 |         912 |         362 | FARO DE MEIRAS, VALDOVIÑO       | A CORUÑA    | GALICIA         | 19:00  |      0.76128  |     -0.142916  | Mujer  | 20.0   | España         | Limítrofe  | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Ahogado con sintomas de aspiración de agua | Peligrosidad del entorno | Recuperación de cadaver                                             | Rescate y traslado a supervisión médica | Entorno marino            | Severas condiciones metereológicas o del agua                      | Sin Reanimacion         | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8001 | LA CORUNA                       | SPAIN    |      0.756891 |     -0.146899  |    13.9 |    15   |    12.8 |    1008.3 |        220 |         19 |       0.875 | 7.0           | 8.0            |     33.4862 |             6 |         2 |             1 |          5 |
| 01/06/2014 |         998 |         713 | LOS ABRIGOS                     | TENERIFE    | CANARIAS        | 14:00  |      0.489175 |     -0.289608  | Hombre | 73.0   | España         | Sin datos  | Helicoptero                       | Accidente, caída o zambullida accidentales | Perdida de Control                         | Peligrosidad del entorno | Rescate y atención in situ por personal de salvamento y emergencias | Rescate sin consecuencias               | Entorno marino            | Sin datos                                                          | Sin Reanimacion         | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8451 | JEREZ DE LA FRONTERA AEROPUERTO | SPAIN    |      0.641409 |     -0.105883  |    21.6 |    29.1 |    14.1 |    1017.3 |        221 |         10 |       0.25  | 2.0           | 8.0            |   1383.43   |             6 |         2 |             1 |          5 |
| 13/07/2014 |        1081 |         835 | ILLANO                          | ASTURIAS    | ASTURIAS        | 3:32   |      0.755801 |     -0.119182  | Hombre | 52.0   | España         | Limítrofe  | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Ahogamiento secundario a accidente         | Peligrosidad del entorno | Recuperación de cadaver                                             | Ahogamiento mortal                      | Rios, canales y similares | Sin datos                                                          | Recuperacion de cadaver | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8011 | ASTURIAS/AVILES                 | SPAIN    |      0.760091 |     -0.105302  |    20.8 |    22.5 |    19.1 |    1019.4 |        295 |         14 |       0.75  | 6.0           | 8.0            |     69.8178 |             6 |         2 |             1 |          5 |
| 09/08/2014 |        1180 |         948 | LORA DEL RIO                    | SEVILLA     | ANDALUCIA       | 17:30  |      0.657033 |     -0.0964121 | Hombre |        | España         | Local      | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Ahogado con sintomas de aspiración de agua | Peligrosidad del entorno | Recuperación de cadaver                                             | Ahogamiento mortal                      | Rios, canales y similares | Sin datos                                                          | Recuperacion de cadaver | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8391 | SEVILLA/SAN PABLO               | SPAIN    |      0.653044 |     -0.102974  |    28.7 |    36.7 |    20.7 |    1010.9 |        193 |          9 |       0.125 | 1.0           | 8.0            |     41.7893 |             6 |         2 |             1 |          5 |
| 20/02/2015 |        1491 |        1349 | TINAJO, LA SANTA                | LANZAROTE   | CANARIAS        | 16:00  |      0.507762 |     -0.238906  | Hombre | 19.0   | Reino Unido    | Extranjero | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Ahogado con sintomas de aspiración de agua | Peligrosidad del entorno | Recuperación de cadaver                                             | Ahogamiento mortal                      | Entorno marino            | Moderadas condiciones metereológicas o del agua (Bandera amarilla) | Recuperacion de cadaver | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8383 | HUELVA                          | SPAIN    |      0.650717 |     -0.120719  |    11.8 |    18.3 |     5.3 |    1021.6 |        351 |          9 |       0.625 | 5.0           | 8.0            |   1107.1    |             6 |         2 |             1 |          5 |
| 05/05/2015 |        1573 |        1431 | RIBADELOURO                     | PONTEVEDRA  | GALICIA         | 12:00  |      0.734761 |     -0.150878  | Mujer  | 54.0   | Canadá         | Extranjero | Fuerzas orden publico             | Accidente, caída o zambullida accidentales | Perdida de Control                         | Peligrosidad del entorno | Asistencia por transeúntes adiestrados                              | Rescate sin consecuencias               | Rios, canales y similares | Moderadas condiciones metereológicas o del agua (Bandera amarilla) | Sin Reanimacion         | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8045 | VIGO/PEINADOR                   | SPAIN    |      0.73682  |     -0.15068   |    12.7 |    15.3 |    10   |    1015.5 |        227 |         12 |       0.875 | 7.0           | 8.0            |     13.152  |             6 |         2 |             1 |          5 |
| 05/08/2015 |        1764 |        1601 | ADEJE, PLAYA DE DIEGO HERNANDEZ | TENERIFE    | CANARIAS        | 16:13  |      0.490512 |     -0.292492  | Mujer  | 25.0   | España         | Sin datos  | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Victima con traumatismo                    | Peligrosidad del entorno | Rescate por personal adiestrado con soporte de emergencias          | Traumatismo/TRM                         | Playas sin vigilancia     | Sin datos                                                          | Sin Reanimacion         | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8383 | HUELVA                          | SPAIN    |      0.650717 |     -0.120719  |    28.2 |    36.3 |    20.1 |    1013.4 |        258 |         10 |       1     |               |                |   1373.49   |             6 |         2 |             1 |          5 |
| 23/08/2015 |        1911 |        1792 | NAVAFRIA                        | SEGOVIA     | CASTILLA Y LEON | 17:30  |      0.716317 |     -0.0667289 | Hombre | 28.0   | España         | Sin datos  | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Victima con traumatismo                    | Peligrosidad del entorno | Rescate por personal adiestrado con equipamiento                    | Traumatismo/TRM                         | Rios, canales y similares | Sin datos                                                          | Sin Reanimacion         | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8215 | NAVACERRADA, PUERTO             | SPAIN    |      0.711803 |     -0.0701041 |    12.2 |    17.7 |     6.8 |     850   |        284 |         11 |       0.375 | 3.0           | 8.0            |     33.0414 |             6 |         2 |             1 |          5 |
| 23/08/2015 |        1911 |        1793 | NAVAFRIA                        | SEGOVIA     | CASTILLA Y LEON | 17:30  |      0.716317 |     -0.0667289 | Mujer  | 21.0   | España         | Sin datos  | Cuerpo de Seguridad o Emergencias | Accidente, caída o zambullida accidentales | Victima con traumatismo                    | Peligrosidad del entorno | Rescate por personal adiestrado con equipamiento                    | Traumatismo/TRM                         | Rios, canales y similares | Sin datos                                                          | Sin Reanimacion         | No vigilado  | Actividad cerca del agua | Acompañante, familiar, amigo | 8215 | NAVACERRADA, PUERTO             | SPAIN    |      0.711803 |     -0.0701041 |    12.2 |    17.7 |     6.8 |     850   |        284 |         11 |       0.375 | 3.0           | 8.0            |     33.0414 |             6 |         2 |             1 |          5 |

Return only the final code in markdown codeblock format, without any additional text or explanation. 



target: target.csv
train: source_0.csv
source_1.csv
source_2.csv
source_3.csv
source_4.csv
test: test_0.csv
test_1.csv
test_2.csv
test_3.csv
test_4.csv