Python - Ayuda con ejercicio de Python

 
Vista:
sin imagen de perfil

Ayuda con ejercicio de Python

Publicado por Marcela (3 intervenciones) el 22/05/2022 02:22:16
Buenas tardes, alguien experto en python que me ayude con este ejercicio. Muchas gracias

En una escuela local, los docentes del área de ciencias decidieron implementar una iniciativa en la que se involucra a algunos alumnos de la institución en la medición de variables del tiempo (temperatura, precipitación, cobertura del cielo) para acercarlos a las ciencias desde un enfoque más empírico, motivar el aprendizaje de varias habilidades y estimular la curiosidad en ellos. Para ello cuentan con algunos instrumentos de medición y capacitaron a los estudiantes en su uso para poder tomar datos juntos.

Los estudiantes apuntan observaciones diariamente sobre la cobertura del cielo (mayormente nublado, parcialmente nublado, soleado) también sobre los extremos de temperatura diarios (temperatura más alta registrada, temperatura más baja registrada) y finalmente sobre la precipitación registrada (milímetros de lluvia diarios) Cada 30 días los estudiantes procesan los datos calculando la cantidad total de días mayormente nublados, parcialmente nublados y soleados; el promedio mensual de temperatura más baja, el promedio mensual de temperatura más alta y la cantidad total de precipitación en los 30 días.

Con este cúmulo de datos, los estudiantes y docentes compilaron una lista de registros, en los que a cada fecha (que cambia cada 30 días) se le asocia los cálculos realizados de temperatura mínima promedio en el periodo, temperatura máxima en el periodo, precipitación promedio en el periodo, cantidad de días mayormente nublados en el periodo, cantidad de días parcialmente nublados en el periodo y cantidad de días soleados en el periodo; entonces cualquiera de estos registros tiene esta estructura:

Fecha
(AAAA-MM-DD)
Temp. Mín. Prom.
Temp. Max. Prom.
Precipit. Total.
Cant. Días May. Nub.
Cant. Días Parc. Nub.
Cant. Días Sol.



Las fechas tienen un formato AAAA-MM-DD, las temperaturas se redondearon a un solo decimal, la medida de precipitación mensual se registra sin decimales y el conteo de días mayormente nublados, parcialmente nublados y soleados siempre será una cantidad entera

La toma de datos se realizó por 108 períodos de tiempo de 30 días cada uno, por lo tanto, la cantidad de registros que se compilaron es grande. Si se desea conocer las fechas de registro en las que se obtuvo temperaturas mínimas de todo el conjunto de registros o las fechas en las que se calculó la máxima pluviosidad entre todo el conjunto, se tendría que recurrir a una búsqueda que puede ser tediosa. Si el conjunto de registros estuviera organizado de alguna forma y se contara con herramientas para hacer las identificaciones, esta tarea sería más fácil.
El grupo de trabajo conformado por los profesores de la escuela y sus estudiantes le han pedido a usted apoyo en esta labor de identificación. Se desea saber, a partir del conjunto de registros de datos del tiempo, las fechas de registro de:

• Las temperaturas mínimas promedio más bajas
• Las temperaturas máximas promedio más altas
• Las precipitaciones acumuladas más escasas
• Las precipitaciones acumuladas más elevadas
• La cantidad máxima de días soleados en el período
Debe tener presente que puede haber varios periodos en el que se registraron la temperatura mínima promedio del todo el conjunto de registros, lo mismo para la temperatura máxima promedio de todo el conjunto y las demás variables medidas; por ello debe estar atento a identificar uno o varios días en los que se cumplen las condiciones buscadas.

TAREAS
Realizar un programa en Python que contenga una función que reciba el conjunto de registros en forma de lista y los reorganice en forma de arreglo como una tabla en el que en las filas estén alojados los registros en el orden esquematizado arriba y mostrado en la imagen adjunta (fecha, temp_min_prom, temp_max_prom, precip_total, num_dias_may_nubl, num_dias_parc_nub, num_dias_sol) y que por lo tanto tenga una columna de fechas, una columna de temperaturas mínimas promedio, una columna de temperaturas máximas promedio, etcétera.

Con este arreglo, usted debe encontrar las fechas de registro en las cuales se calculó la temperatura mínima promedio más baja, las fechas de registro en las que se calculó la temperatura máxima promedio más alta, las fechas de registro en las que se calculó la precipitación acumulada más baja, etcétera.
La ejecución de la función debe realizarse a través de una función denotada así:
clima(datos)
Que recibirá como parámetro una lista y que retornará cinco listas: La lista de fechas en las que se calculó la temperatura mínima promedio más baja, la lista de fechas en las que se calculó la temperatura máxima promedio más alta y otras tres listas para las demás fechas relacionadas con las demás variables.

PARA LA IMPLEMENTACIÓN DE LA SOLUCIÓN NO DEBE USAR EL INGRESO DE INFORMACIÓN POR CONSOLA. Debe crear su programa de tal forma que toda la información que se usará para validar su solución se proporcione a través de un sólo parámetro de entrada (la lista de registros) Se anexa también un enlace a una lista de registros que simula la situación presentada en este reto y con la que usted podrá ir verificando la ejecución de su solución.
RECURRA A LA LIBRERÍA NUMPY Y SUS FUNCIONES. Es esta librería y sus funciones principales las que le permitirán encontrar mínimos y máximos, así como manipular matrices y listas como se necesita para solucionar el problema. Debe tener cuidado con la manipulación de las fechas, porque las funciones de Numpy no realizan cálculos directos sobre objetos del tipo “fecha” en particular si están presentados en formato string.

El trabajo con listas es mucho más fácil por lo tanto procure usar listas en la medida de lo posible excepto en aquellas operaciones matriciales en las que invariablemente debe recurrir a objetos de la librería Numpy. No olvide que sus retornos deben ser listas (cinco en total) conteniendo fechas EN FORMATO AAAA-MM-DD y de tipo string.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder