Vendes de samarretes¶
Una empresa fabricant de samarretes vol portar el control de les seves vendes utilizant python i la llibreria pandas. Es disposa d’un fitxer en format csv amb informació de les vendes realitzades per l’empresa al llarg d’un període de diversos anys. Per cada venda, es guarda: data, comarca, talla, gènere, nombre d’unitats de la venda i preu unitari. Vegeu un fitxer d’exemple samarretes.csv. Descarregueu el fitxer i creeu un DataFrame de pandas amb les dades. Examineu el nom de les seves columnes i algunes de les seves files. Vegeu per exemple:
>>> import pandas as pd >>> df = pd.read_csv('samarretes.csv') >>> df.columns Index(['Data', 'Comarca', 'Genere', 'Talla', 'Unitats', 'Preu unit.'], dtype='object') >>> df.head(4) Data Comarca Genere Talla Unitats Preu unit. 0 2000-10-10 Pla d'Urgell home XS 2 26.8 1 2000-12-04 Alt Urgell dona S 10 23.8 2 2000-01-09 Alt Urgell dona XL 13 23.9 3 2000-12-24 Baix Camp dona XXL 5 22.7
Les funcions que es demanen tot seguit cal desar-les al mòdul
samarretes (fitxer samarretes.py).
Dissenyeu la funció
vendes_genere_comarca()que, donat DataFrame creat a partir de dades de l’empresa com les de l’exemple, donat un nom de comarca i un gènere ('home'o'dona') retorna el nombre de vendes (nombre de files del DataFrame) corresponents a la comarca donada i pel gènere donat.Per exemple, essent
dfel dataframe que conté les dades anteriors:>>> from samarretes import vendes_genere_comarca >>> vendes_genere_comarca(df, 'Urgell', 'dona') 7 >>> vendes_genere_comarca(df, 'Garraf', 'home') 12
Disposeu de jocs de proves al fitxer
test-vendes.txt.Dissenyeu la funció
import_vendes()que, donat un DataFrame com el de l’exemple i una talla (string), retorna l’import total de les vendes de samaretes de la talla donada. L’import d’una venda es calcula com el nombre d’unitats multiplicat pel preu unitari.Per exemple, essent
dfel dataframe que conté les dades anteriors:>>> from samarretes import import_vendes >>> print(round(import_vendes(df, 'XL'), 2)) 53377.9 >>> print(round(import_vendes(df, 'M'), 2)) 51691.3
Disposeu de jocs de proves al fitxer
test-import.txt.Dissenyeu la funció
preu_mig()que, donat DataFrame creat a partir de dades de l’empresa com les de l’exemple, i donada una talla retorna el preu mig de samarretes de la talla donada.Per exemple, essent
dfel dataframe que conté les dades anteriors:>>> from samarretes import preu_mig >>> print(round(preu_mig(df, 'XS'), 2)) 19.95 >>> print(round(preu_mig(df[300:], 'XXL'), 2)) 19.99
Disposeu de jocs de proves al fitxer
test-preu.txt.Dissenyeu la funció
comarca_fashion()que, donat DataFrame creat a partir de dades de l’empresa com les de l’exemple, retorna el nom de la comarca en la que s’han venut més samarretes (comptant totes les talles i tots els gèneres).Per exemple, essent
dfel dataframe que conté les dades anteriors:>>> from samarretes import comarca_fashion >>> comarca_fashion(df) 'Montsià' >>> comarca_fashion(df[100:200]) 'Alt Camp'
Disposeu de jocs de proves al fitxer
test-fashion.txt.
Solució
Disposeu d’una solució al fitxer samarretes.py.