1

Exclure les pièces de minifigs et intégrer les visuels de rareté

This commit is contained in:
2025-12-03 11:34:05 +01:00
parent 6dc1f1cac5
commit 39af0d3a8b
8 changed files with 606 additions and 0 deletions

View File

@@ -365,3 +365,19 @@ Le calcul lit `data/intermediate/minifigs_by_set.csv`, `data/raw/parts.csv`, `da
- `data/intermediate/head_reuse.csv` : pour chaque tête observée dans les sets filtrés, le nombre de sets filtrés qui la contiennent, le nombre de sets du reste du catalogue et le total.
- `figures/step33/head_reuse.png` : bar chart horizontal montrant, par tête, la part filtrée vs le reste du catalogue (têtes exclusives en haut).
- Les étiquettes affichent aussi lidentifiant de la minifig (`fig-*`) et un astérisque à côté du set (`set_num*`) lorsquil est présent dans la collection.
### Étape 34 : rareté des pièces (occurrences catalogue)
1. `source .venv/bin/activate`
2. `python -m scripts.compute_part_rarity`
3. `python -m scripts.download_part_rarity_resources`
4. `python -m scripts.plot_part_rarity`
Le calcul lit `data/intermediate/parts_filtered.csv`, `data/raw/parts.csv`, `data/raw/part_categories.csv`, `data/raw/inventories.csv`, `data/raw/inventory_parts.csv` et `data/intermediate/sets_enriched.csv`. Il additionne `quantity_in_set` pour chaque `part_num` des sets filtrés (rechanges incluses), ignore les catégories animales, stickers et pièces de minifigs (`28`, `58`, `74`, `75`, `13`, `27`, `59`, `60`, `61`, `65`, `70`, `71`, `72`, `73` de `part_categories.csv`, ainsi que `is_minifig_part=true`) pour écarter les moules de dinosaures, les planches dautocollants et les pièces de figurines, puis compte les occurrences restantes dans le reste du catalogue. Les sorties sont :
- `data/intermediate/part_rarity.csv` : classement complet des pièces avec leurs occurrences filtrées, catalogue et part filtrée.
- `data/intermediate/part_rarity_exclusive.csv` : toutes les pièces exclusives aux sets filtrés, suivies de la première pièce réutilisée ailleurs (pour visualiser la bascule entre exclusivité et réemploi).
Le téléchargement sappuie sur `REBRICKABLE_TOKEN` et place les visuels des pièces dans `figures/rebrickable/{set_id}/rare_parts/{part_num}.jpg`, en journalisant les manques dans `data/intermediate/part_rarity_download_log.csv`.
Le tracé `figures/step34/part_rarity.png` juxtapose, pour chaque pièce de `part_rarity_exclusive.csv`, les occurrences dans les sets filtrés vs le reste du catalogue avec les images incrustées.