熊猫qcut功能的结果令人困惑

时间:2019-03-27 00:26:56

标签: python pandas

在阅读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)? 谢谢。

2 个答案:

答案 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号,当您执行qcut01被视为一个范围时


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]]