3. Pandas: Consum d’electricitat (3.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:
consum_elect.csv. Descarregueu aquest
fitxer i analitzeu-ne les dades. A partir d’aquest fitxer, hem llegit
un DataFrame del que es mostren algunes dades:
>>> import pandas as pd >>> df = pd.read_csv('consum_elect.csv', dtype = {'Codi_Postal': str}) >>> df[:5] Data Codi_Postal Sector_Economic Tram_Horari Valor 0 2022-01-01 08001 Indústria 0-6 817 1 2022-01-01 08001 Indústria 6-12 942 2 2022-01-01 08001 Indústria 12-18 1145 3 2022-01-01 08001 Indústria 18-24 1184 4 2022-01-01 08001 Residencial 0-6 24464
Observem que totes les columnes són de tipus str excepte la columna
'Valor' que representa el consum en megawatt-hores i és de tipus
int.
Es demana que al mòdul electra (fitxer
electra.py) hi implementeu les dues funcions següents:
- electra.electra1(df)¶
- Paràmetres:
df – un
DataFramecom el de l’exemple que conté dades de consums d’electricitat.- Retorna:
un
DataFramede les mateixes característiques que el donat i només amb les files amb consums estrictament superiors a un 95% del consum màxim. AquestDataFrameha d’estar en ordre descendent de consum.
Exemples:
>>> df1 = electra1(df) >>> type (df1) <class 'pandas.core.frame.DataFrame'> >>> len(df1) 12 >>> df1[:5] Data Codi_Postal Sector_Economic Tram_Horari Valor 6310 2022-01-24 08018 Serveis 12-18 158433 4990 2022-01-19 08018 Serveis 12-18 156838 4726 2022-01-18 08018 Serveis 12-18 156133 6574 2022-01-25 08018 Serveis 12-18 155623 4462 2022-01-17 08018 Serveis 12-18 154038
Disposeu de jocs de proves addicionals al fitxer test-electra1.txt.
- electra.electra2(df, sec)¶
- Paràmetres:
- Retorna:
un
tuple,(tram horari, consum total), amb les dades corresponents al tram horari, d’entre tots els del sector econòmic donat i en elDataFramedonat, tal que el consum total és màxim. Per consum total s’entén la suma dels consums de tots els dies i codis postals. En aquest tuple, el tram horari és de tipusstri el consum total de tipusint.
Exemples:
>>> electra2(df, 'Residencial') ('18-24', 93480291) >>> electra2(df, 'Indústria') ('12-18', 11816140)
Disposeu de jocs de proves addicionals al fitxer test-electra2.txt.