我有一个这样的数据框:
a b
0 0 9
1 1 8
2 2 7
3 3 6
4 4 5
5 5 4
6 6 3
7 7 2
8 8 1
9 9 0
10 10 0
11 11 1
12 12 1
我想使用pd.cut()
根据其值在不同子类别中分隔列a
。
为此,必须获取bins
。看来我们可以使用bins
手动设置pd.IntervalIndex
。
但是我该如何设定间隔:
[0], (0,2], (2,4], (4,6], (6,8], (8,10], (10,)
?
我不知道这是否是表示它的正确方法,但确实存在:一个只有零的整数-[0]
和一个间隔大于10的区间-(100,)
< / p>
答案 0 :(得分:2)
没有一个值的间隔。为了获得相同的结果,我们可以执行Inf
关闭并启动。
pd.cut(df.a,[-np.Inf, 0,2,4,6,8,10,np.Inf])
0 (-inf, 0.0]
1 (0.0, 2.0]
2 (0.0, 2.0]
3 (2.0, 4.0]
4 (2.0, 4.0]
5 (4.0, 6.0]
6 (4.0, 6.0]
7 (6.0, 8.0]
8 (6.0, 8.0]
9 (8.0, 10.0]
10 (8.0, 10.0]
11 (10.0, inf]
12 (10.0, inf]
Name: a, dtype: category
Categories (7, interval[float64]): [(-inf, 0.0] < (0.0, 2.0] < (2.0, 4.0] < (4.0, 6.0] < (6.0, 8.0] <
(8.0, 10.0] < (10.0, inf]]