我的pandas.cut输出类别与pandas文档中显示的类别之间存在差异

时间:2018-08-29 20:10:55

标签: python pandas

我正在学习pandas.cut以将数据放入不同的箱中。我正在从pandas documentation运行示例代码。但是我生成的输出中显示的类别有所不同。

第一个示例:

Tocut = np.array([1, 7, 5, 6, 4, 9])
pd.cut(Tocut, 3)

我得到的类别输出是“类别(3,对象):[(0.992,3.667] <(3.667,6.333] <(6.333,9]]”,而文档显示“类别(3,interval [float64] ):...”

第二个示例:

s = pd.Series(np.array([2, 4, 6, 8, 10]), index=['a', 'b', 'c', 'd', 'e'])
pd.cut(s, 6)

我得到的类别输出是“类别(6,对象):”,而文档仍然显示float64。

我只是想知道是什么原因造成的。而且Python中的任何东西都不是对象吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

我认为这可能是一个错误,但现在已修复。在0.23.4上,它按预期返回float64。

pd.cut(s, 6)

a    (1.992, 3.333]
b    (3.333, 4.667]
c      (4.667, 6.0]
d    (7.333, 8.667]
e     (8.667, 10.0]
dtype: category
Categories (6, interval[float64]): [(1.992, 3.333] < (3.333, 4.667] < (4.667, 6.0] < (6.0, 7.333] <
                                    (7.333, 8.667] < (8.667, 10.0]]

猜测这是一个与第二个示例中的非数字索引有关的错误。