Python Pandas Schaffen Neue Bin/Eimer Variable mit pd.qcut
Wie erstellen Sie eine neue Bin/Eimer Variable mit pd.qut in python?
Dies mag elementar für erfahrene Benutzer, aber ich war nicht super klar und es war erstaunlich unintuitiv zu suchen, auf stack overflow/google. Einige Gründliche Suche ergab diese ( Zuordnung von qcut als neue Spalte ), aber es hat nicht ganz meine Frage beantworten, weil es nicht nehmen Sie den letzten Schritt und legte alles, was in den Behältern (z.B. 1,2,...).
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Pandas 0.15.0 oder neuer,
pd.qcut
gibt eine Serie, nicht ein Kategorischer wenn die Eingabe einer Reihe (wie in deinem Fall) oder wennlabels=False
. Wenn Sielabels=False
, dannqcut
gibt eine Serie mit dem integer-Indikatoren für die Behälter, die als Werte.Also der eigene code zukunftssicher ist, könnten Sie
oder übergeben Sie einen NumPy-array
pd.qcut
so erhalten Sie eine Kategorische als Rückgabewert.Beachten Sie, dass der Kategorische Attribut
- Etiketten
ist veraltet. Verwendencodes
statt:EDIT: Die Antwort unten ist nur gültig für Versionen von Pandas weniger als 0.15.0. Wenn Sie mit Pandas 15 oder höher finden Sie unter:
Dank @unutbu für den Hinweis it out. 🙂
Sagen, Sie haben einige Daten, die Sie wollen bin, in meinem Fall Optionen spreads, und Sie wollen eine neue variable mit dem Eimer, die der jeweiligen Beobachtung. Der link oben erwähnt, Sie können dies tun, indem Sie:
dem gibt Sie, was die bin Endpunkte entsprechen, die für jede Beobachtung. Allerdings, wenn Sie möchten, die entsprechende bin-Nummer für jede Beobachtung können Sie dies tun:
Setzen Sie alle zusammen, wenn Sie möchten, erstellen Sie eine neue variable, nur mit den bin-Nummern, dies sollte ausreichen:
Hoffe, dies hilft jemand anderes. Zumindest sollte es leichter sein, um die Suche für jetzt. 🙂