首页 > 解决方案 > 对 bin 使用整数

问题描述

鉴于此代码

df=pd.DataFrame({"num":[1,2,3,4,5,6]})
bins = pd.IntervalIndex.from_tuples([(0, 2), (2,3), (3,6)])
df['bin']=pd.cut(df.num, bins, labels=False)

结果是

    num bin
0   1   (0, 2]
1   2   (0, 2]
2   3   (2, 3]
3   4   (3, 6]
4   5   (3, 6]
5   6   (3, 6]

但我希望结果是

    num bin
0   1   1
1   2   1
2   3   2
3   4   3
4   5   3
5   6   3

即,使用一个整数来表示 bin 范围,如何实现呢?

标签: python-3.xpandas

解决方案


事实证明df['bin_num']=df['bin'].cat.codes+1会做


推荐阅读