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

Python my pandas.cut输出类别与pandas文档中显示的类别之间存在差异,python,pandas,Python,Pandas,我正在学习pandas.cut将我的数据放入不同的箱子。我正在运行来自的示例代码。但不知何故,我生成的输出中显示的类别是不同的 第一个例子: Tocut = np.array([1, 7, 5, 6, 4, 9]) pd.cut(Tocut, 3) 我得到的类别输出是“类别(3,对象):[(0.992,3.667]

我正在学习pandas.cut将我的数据放入不同的箱子。我正在运行来自的示例代码。但不知何故,我生成的输出中显示的类别是不同的

第一个例子:

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,间隔[float64]):…”

第二个例子:

s = pd.Series(np.array([2, 4, 6, 8, 10]), index=['a', 'b', 'c', 'd', 'e'])
pd.cut(s, 6)
我得到的类别输出是“Categories(6,object):”而文档仍然显示float64

我只是想知道是什么导致了这一点。Python中的任何东西都不是对象吗


谢谢。

我认为这可能是一个bug,但它现在已经被修复。在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]]
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)
数据类型:类别
类别(6,区间[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]]

我猜这是一个与第二个示例中的非数字索引有关的bug,在某种程度上造成了这种情况。

谢谢。我还没来得及看你的回复就下班了。我刚在我的个人笔记本电脑上试用过,它有一个更新版本的Anaconda,它很有效。非常感谢。如果你不介意,你能告诉我为什么上面写着flo吗请用at64代替对象?浮点数不也是一种对象吗?谢谢。