如何在pandas.cut中打印类别?

时间:2018-09-16 17:05:38

标签: python pandas range categories bins

请注意,当您将pandas.cut输入到数据框中时,您会在输出中获得每个元素的bin:Name:,Length:,dtype:和Categories。我只希望为我打印Categories数组,这样我就可以获取我要查找的垃圾箱数量范围。例如,在将bins = 4输入到数字“ 1,2,3,4,5”的数据框中时,我希望输出仅打印四个bins的范围,即(1、2],(2, 3],(3、4],(4、5]。

反正我可以这样做吗?即使不需要打印“类别”,它也可以是任何东西。

2 个答案:

答案 0 :(得分:1)

我猜您只是想从str[1:]获取'bins'。 如果是这样,您只需设置str[:-1],请参见the doc of pd.cut 例如:

在[01]中:

pd.cut()

出[01]:

retbins=True

data = pd.DataFrame({'a': [1, 2, 3, 4, 5]})
cats, bins = pd.cut(data.a, 4, retbins=True)

cats

0    (0.996, 2.0]
1    (0.996, 2.0]
2      (2.0, 3.0]
3      (3.0, 4.0]
4      (4.0, 5.0]
Name: a, dtype: category
Categories (4, interval[float64]): [(0.996, 2.0] < (2.0, 3.0] < (3.0, 4.0] < (4.0, 5.0]]

然后,您可以根据需要重复使用bins。 例如,

array([0.996, 2.   , 3.   , 4.   , 5.   ])

答案 1 :(得分:0)

您可以使用.categories.format()

pd.cut(np.arange(1,6), 4).categories.format()

[出]

['(0.996, 2.0]', '(2.0, 3.0]', '(3.0, 4.0]', '(4.0, 5.0]']