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

问题描述 投票:0回答:2

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

python pandas
2个回答
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
投票

看看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]]
© www.soinside.com 2019 - 2024. All rights reserved.