Pandas替换了pd中的元组值.用整数切割



我有一个如下所示的数据框架

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

最新更新