.. module:: electro Pandas: Consum d'electricitat *(2 punts)* ========================================== .. warning:: Aquest exercici consta de dues preguntes independents. El pes de cada pregunta en la nota s'ajustarà en temps de correcció, però en cap cas serà inferior a 0.5 punts. Del web de dades obertes de l'ajuntament de Barcelona hem descarregat un fitxer amb dades de consum d'electricitat durant alguns mesos de 2022, que hem simplificat: :download:`consum_elect.csv`. Podeu descarregar aquest fitxer i analitzar les dades que conté: .. literalinclude:: tests-electro1.txt :language: python :start-after: --ini-electra :end-before: --fi-electra Totes les columnes són de tipus :py:class:`str` excepte la columna ``'Valor'`` que representa el consum en megawatt-hores i és de tipus :py:class:`int`. Es demana que al mòdul :py:mod:`electro` (fitxer :file:`electro.py`) hi implementeu les dues funcions següents: .. function:: electro1(df, sec, tr) :param df: un :class:`~pandas.DataFrame` com el de l'exemple que conté dades de consums d'electricitat. :param sec: el nom d'un sector econòmic (:py:class:`str`). :param tr: un tram horari (:py:class:`str`). :return: un :py:class:`tuple`, ``(data, codi postal, consum)``, amb la data (:py:class:`str`), el codi postal (:py:class:`str`) i el consum (:py:class:`int`) corresponents al registre de consum mínim pel sector econòmic i tram horari donats, en el :class:`~pandas.DataFrame` donat. Exemples: .. literalinclude:: tests-electro1.txt :language: python :start-after: --ini-electro1 :end-before: --fi-electro1 Disposeu de jocs de proves addicionals al fitxer :download:`tests-electro1.txt`. .. function:: electro2(df, mes) :param df: un :class:`~pandas.DataFrame` com el de l'exemple que conté dades de consums d'electricitat. :param mes: un :class:`int` que representa un mes de l'any :return: una :py:class:`~pandas.Series` indexada per sector econòmic i on el valor és el percentatge de consum d'aquest sector respecte del total, considerant **només** els consums realitzats en el mes donat `mes`. La :py:class:`~pandas.Series` ha d'estar en ordre descendent de percentatge. Exemples: .. literalinclude:: tests-electro2.txt :language: python :start-after: --ini-electro2 :end-before: --fi-electro2 Recordeu que la classe :py:class:`pandas.Series` té mètodes per tractar dades de tipus :py:class:`str` (vegeu per exemple `metodes str `_) que us poden ser d'utilitat per filtrar les dades corresponents al mes donat. Recordeu que **no podeu llegir** fitxer que conté el dataframe dins del vostre codi. Disposeu de jocs de proves addicionals al fitxer :download:`tests-electro2.txt`.