在阅读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 :(得分:2)
因为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]]。
答案 1 :(得分:1)
看看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]]