我正在学习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]]
猜测这是一个与第二个示例中的非数字索引有关的错误。