================================ Pandas: meteorologia (4 punts) ================================ .. py:module::meteo.py Una estació meteorològica disposa de les dades recollides diàriament al llarg d'un mes en fitxers amb el `format CSV `_. Si llegim un d'aquests fitxers mitjançant la següent comanda de `pandas `_, obtenim un :py:class:`~pandas.DataFrame` com aquest: .. literalinclude:: lectura-meteo.txt :language: python Descarregueu-vos el fitxer :download:`meteo.csv`, proveu de llegir-lo en l'intèrpret de Python **tal com s'indica en l'exemple de més amunt** i examineu les columnes que conté. Observeu que les dades estan ordenades temporalment, essent l'índex el número del dia del mes, i que la taula pot contenir valors desconeguts en qualsevol cel·la. Les funcions que es demanen a continuació han de treballar amb un :py:class:`~pandas.DataFrame` qualsevol amb la mateixa estructura (índex numèric ordenat i columnes), **però no necessàriament el mateix de l'exemple**, poden ser dades de qualsevol mes. Sensació tèrmica ---------------- Quan fa vent, les persones percebem que la temperatura és més baixa del que marca el termòmetre. Això es coneix amb el nom de *sensació tèrmica per vent i fred*. Per exemple, quan la velocitat del vent mitjana està entre 5 i 7, ambdós valors inclosos, la sensació tèrmica és 2.5 graus inferior a la temperatura mitjana. Dissenyeu la funció següent, que heu de desar al fitxer :file:`meteo.py`: .. py:function:: sensacio_termica(df) :param df: instància de :py:class:`~pandas.DataFrame` amb dades meteorològiques d'un mes. :return: instància de la classe :py:class:`~pandas.Series` amb el valor de la sensació tèrmica pels dies de `df` en què la velocitat del vent ha estat entre 5 i 7, inclosos. El nom de la sèrie retornada ha de ser 'STERM' (a tal fi, es recomana utilitzar el mètode :py:meth:`pandas.Series.rename`). Per exemple, essent ``df`` el dataframe de l'exemple de més amunt, la funció ha de respondre així: .. literalinclude:: tests-sterm.txt :language: python :start-after: --ini-casos :end-before: --fi-casos Disposeu de jocs de proves al fitxer :download:`tests-sterm.txt`. Ràfegues de vent ---------------- Volem saber quina és la direcció del vent en què es produeixen les ràfegues més fortes de vent. A tal fi, es demana que dissenyeu la funció següent, que heu de desar al fitxer :file:`meteo.py`: .. py:function:: rafegues_vent(df) :param df: instància de :py:class:`~pandas.DataFrame` amb dades meteorològiques d'un mes. :return: diccionari amb els valors màxims de la velocitat del vent per cada direcció del vent . O sigui, les claus d'aquest diccionari seran les direccions de `df` i els valors associats la màxima velocitat del vent per cada direcció. Per exemple, essent ``df`` el dataframe de l'exemple de més amunt, la funció ha de respondre així: .. literalinclude:: tests-rafegues.txt :language: python :start-after: --ini-casos :end-before: --fi-casos Disposeu de jocs de proves al fitxer :download:`tests-rafegues.txt`.