在阅读pd.qcut?
的文档时,我根本无法理解它的写作,特别是它的例子,其中一个在下面
>>> pd.qcut(range(5), 4)
... # doctest: +ELLIPSIS
[(-0.001, 1.0], (-0.001, 1.0], (1.0, 2.0], (2.0, 3.0], (3.0, 4.0]]
Categories (4, interval[float64]): [(-0.001, 1.0] < (1.0, 2.0] ...
为什么它返回列表中的5个元素(尽管代码指定4个桶)和2个第一个元素是相同的(-0.001,1.0)?谢谢。
因为0在(-0.001,1]中,所以是1。
range(5) # [0, 1, 2, 3, 4, 5]
相应的[0,1,2,3,4,5]类别是[(-0.001,1.0),( - 0.001,1.0],(1.0,2.0),(2.0,3.0),(3.0,4.0) ]。
看看range
list(range(5))
Out[116]: [0, 1, 2, 3, 4]
它返回5号,当你做qcut
,0
,1
被认为是一个范围
pd.qcut(range(5), 4)
Out[115]:
[(-0.001, 1.0], (-0.001, 1.0], (1.0, 2.0], (2.0, 3.0], (3.0, 4.0]]
Categories (4, interval[float64]): [(-0.001, 1.0] < (1.0, 2.0] < (2.0, 3.0] < (3.0, 4.0]]