2017-06-29 1 views
0

Ich will die variable x auf 3 Gruppen schneiden:Definieren von Schwellenwerten für Variable in die Faktoren (qcut in pandas) Schneiden

new_var = pd.qcut(x,q = [0,.33,.66,1.],labels = ['low','medium','high']) 

als x.quantile(q = 0.33) I 0.6 den Wert erhalten.

Meine Frage ist: Gibt es eine Funktion, die X Variablen auf n (in meinem Fall 3) Gruppen aber anstelle von Quantilen schneiden können (wie in qcut) können wir Schwellen definieren. In meinem Fall möchte statt 0.6 I 0.59999...

oder alternativ bekommen: Gibt es die Möglichkeit in qcut Funktion, dass die Werte (ab 0.6) als ‚mittel‘ definiert werden (nicht als ‚niedrig‘)? Ich meine, anstatt geschlossene Intervalle zu verwenden, öffnen.

Antwort

0

Ich glaube, was Sie suchen, ist pd.cut, die es ermöglicht, Daten in definierten Bins mit einem halboffenen Intervall zu diskretisieren.

Beispiel:

>>> pd.cut(range(1,10), [0,3,6,10], right=True) 
[(0, 3], (0, 3], (0, 3], (3, 6], (3, 6], (3, 6], (6, 10], (6, 10], (6, 10]] 
Categories (3, interval[int64]): [(0, 3] < (3, 6] < (6, 10]] 
Verwandte Themen