Dokumentacja mówi:
http://pandas.pydata.org/pandas-docs/dev/basics.html
„Wartości ciągłe można dyskretyzować za pomocą funkcji cut (pojemniki oparte na wartościach) i qcut (pojemniki oparte na kwantylach próbek)”
Brzmi dla mnie bardzo abstrakcyjnie ... Widzę różnice w poniższym przykładzie, ale co właściwie robi / oznacza qcut (kwantyl próbki)? Kiedy użyłbyś qcut zamiast cut?
Dzięki.
factors = np.random.randn(30)
In [11]:
pd.cut(factors, 5)
Out[11]:
[(-0.411, 0.575], (-0.411, 0.575], (-0.411, 0.575], (-0.411, 0.575], (0.575, 1.561], ..., (-0.411, 0.575], (-1.397, -0.411], (0.575, 1.561], (-2.388, -1.397], (-0.411, 0.575]]
Length: 30
Categories (5, object): [(-2.388, -1.397] < (-1.397, -0.411] < (-0.411, 0.575] < (0.575, 1.561] < (1.561, 2.547]]
In [14]:
pd.qcut(factors, 5)
Out[14]:
[(-0.348, 0.0899], (-0.348, 0.0899], (0.0899, 1.19], (0.0899, 1.19], (0.0899, 1.19], ..., (0.0899, 1.19], (-1.137, -0.348], (1.19, 2.547], [-2.383, -1.137], (-0.348, 0.0899]]
Length: 30
Categories (5, object): [[-2.383, -1.137] < (-1.137, -0.348] < (-0.348, 0.0899] < (0.0899, 1.19] < (1.19, 2.547]]`