Download scripts/enrichir_kaggle.py from grappapp/grapp: direct link, hf CLI and curl.
- Browser
- Download file 1.74 kB
-
https://huggingface.co/spaces/grappapp/grapp/resolve/main/scripts/enrichir_kaggle.py
- Command line
-
hf download hf://spaces/grappapp/grapp/scripts/enrichir_kaggle.py
-
curl -L -o enrichir_kaggle.py https://huggingface.co/spaces/grappapp/grapp/resolve/main/scripts/enrichir_kaggle.py
1.74 kB
| """(Optionnel) Ajoute de vraies bouteilles notées à GRAPP avec le dataset Kaggle | |
| « Wine Reviews » (Wine Enthusiast, 130 000 avis) : https://www.kaggle.com/datasets/zynicide/wine-reviews | |
| 1. Télécharger winemag-data-130k-v2.csv (compte Kaggle gratuit), le mettre dans data/ | |
| ou : kaggle datasets download -d zynicide/wine-reviews -p data --unzip | |
| 2. python scripts/enrichir_kaggle.py | |
| => crée data/bouteilles_kaggle.csv ; l'app affiche alors, pour chaque vin | |
| recommandé, les bouteilles réelles les mieux notées de cette appellation. | |
| """ | |
| import sys | |
| from pathlib import Path | |
| import pandas as pd | |
| ROOT = Path(__file__).resolve().parents[1] | |
| sys.path.insert(0, str(ROOT)) | |
| from grapp.engine import normaliser # noqa: E402 | |
| src = ROOT / "data" / "winemag-data-130k-v2.csv" | |
| if not src.exists(): | |
| sys.exit(f"Fichier introuvable : {src}\nTélécharge-le depuis Kaggle (voir l'en-tête du script).") | |
| kag = pd.read_csv(src).dropna(subset=["title", "price"]) | |
| kag["t"] = kag["title"].map(normaliser) + " " + kag["designation"].fillna("").map(normaliser) | |
| vins = pd.read_csv(ROOT / "data" / "vins.csv") | |
| lignes = [] | |
| for nom in vins["nom"]: | |
| cle = normaliser(nom.replace(" rouge", "").replace(" blanc", "").replace(" rosé", "")) | |
| sel = kag[kag["t"].str.contains(rf"\b{cle}\b", regex=True)] | |
| for _, r in sel.sort_values(["points", "price"], ascending=[False, True]).head(5).iterrows(): | |
| lignes.append({"nom": nom, "bouteille": r.title, "points": r.points, | |
| "prix_usd": r.price, "avis": r.description}) | |
| out = pd.DataFrame(lignes) | |
| out.to_csv(ROOT / "data" / "bouteilles_kaggle.csv", index=False) | |
| print(f"{len(out)} bouteilles pour {out['nom'].nunique()} appellations -> data/bouteilles_kaggle.csv") | |