Ich kann nicht recht herausfinden, wie man eine Funktion schreibt, um ein gruppiertes Perzentil zu erreichen. Ich habe alle Teams aus den Jahren 1985-2012 in einem Datenrahmen; die ersten 10 werden unten angezeigt: es ist derzeit nach Jahr sortiert. Ich habe versucht, ein Perzentil für LgRnk
gruppiert nach Year
zu geben. So wäre zum Beispiel 23 LgRank (schlechteste Mannschaft) für 1985 ein 100 Perzentil und ein 1 LgRank (beste Mannschaft) für 1985 wäre ein 1 Perzentil. 30 LgRank (schlechtestes Team) für 2010 wäre 100 Perzentil usw. Es muss nach Jahr b / c der unterschiedlichen Anzahl von LgRnk
s gruppiert werden.
Ich habe versucht, eine Funktion zu erstellen mit: scipy.stats.percentileofscore
und ich kann es nicht ganz verstehen.
Sie können eine Anwendung in der Spalte LgRnk ausführen:
%Vor% Die Serie groupby rank (gilt nur für Series.rank
) nimm ein pct-Argument, um genau das zu tun:
und direkt in der Spalte WLPer
(obwohl dies aufgrund von Zeichnungen etwas anders ist):
Hinweis: Ich habe die Zahlen in der ersten Zeile geändert. Sie erhalten also unterschiedliche Bewertungen für Ihren vollständigen Rahmen.
Tags und Links python numpy statistics pandas scipy