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

第一个例子:

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


我得到的类别输出是“类别(3,对象):[(0.992,3.667]
第二个例子:

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


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

我只是想知道是什么促成这一点。 Python中的任何内容都不是对象吗?

谢谢。

最佳答案

我认为这可能是一个错误,但现在已修复。在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]]


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

10-06 05:31