Na czym to polega w sklepie
Funkcja np.argsort zwraca indeksy elementów w kolejności rosnącej (lub malejącej z [::-1]). Nie mutuje oryginalnej tablicy - przydatne gdy masz równoległe tablice sku_ids i revenue z eksportu line items.
Przykład ze sklepu internetowego
Tablica przychodu per SKU z tygodnia promocji. Chcesz indeksy 5 produktów z najwyższym revenue do bloku „bestsellery” w mailingu:
import numpy as np
sku_ids = np.array(["SKU-100", "SKU-204", "SKU-310", "SKU-088", "SKU-501"])
revenue = np.array([12400.0, 8900.0, 15600.0, 3200.0, 11200.0])
top5_idx = np.argsort(revenue)[::-1][:5]
top_skus = sku_ids[top5_idx]
# argsort na revenue, nie na sku_ids - sortujesz metrykę, nie etykietę
Co zrobić po stronie biznesu
- Top kampanie po ROAS -
np.argsort(roas)[::-1][:10]do slajdu weekly. - Identyfikacja najsłabszych kreacji w ad secie (najniższy CTR).
- Pułapka:
argsortna stringach SKU sortuje alfabetycznie - zawsze sortuj tablicę numeryczną metryki.
W skrócie
argsort + fancy indexing to numpy-owy wzorzec „top N”. Oryginalne tablice zostają nietknięte - ważne przy wielokrotnym rankingu tych samych danych.