我有一个如下所示的数据框架
count
(1.386, 3.045]
(1.386, 3.045]
(0.692, 1.386]
(1.386, 3.045]
(1.386, 3.045]
(1.386, 3.045]
(1.386, 3.045]
(0.692, 1.386]
我想为每个间隔
创建标签上面的数据框是pd的结果。截断函数如下
pd.cut(t['count'],bins=p_breaks,labels=[1,2,3,4,5],include_lowest=True,duplicates='drop')
但是它导致了一个错误
因此,我删除了labels
参数并得到如下输出
(1.386, 3.045]
(1.386, 3.045]
(0.692, 1.386]
(1.386, 3.045]
(1.386, 3.045]
(1.386, 3.045]
(1.386, 3.045]
(0.692, 1.386]
现在,我想换掉这些物品。所以,我尝试了下面的
t['count'].replace((0.692, 1.386),1)
t['count'].replace((1.386, 3.045),2)
我希望我的输出如下所示
count
2
2
1
2
2
2
2
1
不需要使用replace
,可以使用.cat.codes
来获得分配给相应区间的序数值
t['count'] = pd.cut(t['count'], bins=p_breaks, duplicates='drop', include_lowest=True).cat.codes + 1