Python 如何动态创建连续变量的容器

Python 如何动态创建连续变量的容器,python,pandas,Python,Pandas,我在熊猫中有以下数据帧 ID value 1 12.34 2 102.34 3 99.43 4 105 5 110 6 110.23 7 0 8 0.5 我想动态创建5个箱子,下面是我想要的数据帧 ID value bin 1 12.34 10-15 2 102.34 100-105 3 99.43 95-

我在熊猫中有以下数据帧

 ID     value
 1      12.34
 2      102.34
 3      99.43
 4      105
 5      110
 6      110.23
 7      0
 8      0.5
我想动态创建5个箱子,下面是我想要的数据帧

ID     value       bin
 1      12.34      10-15
 2      102.34     100-105
 3      99.43      95-100
 4      105        105-110
 5      110        110-115 
 6      110.23     110-115
 7      0          0-5 
 8      0.5        0-5
我试过跟随,但不起作用

s1=((df.value//5)*5).min()
s2=((df.value//5+1)*5).max()
df['bin'] = pd.cut(df.value,np.arange(s1,s2+5,5))

但它不起作用

添加两个新参数-
标签
right=False
,对于标签,请使用列表理解和
zip

s1=((df.value//5)*5).min()
s2=((df.value//5+1)*5).max()

bins = np.arange(s1,s2+5,5)
labels = [f'{int(i)}-{int(j)}' for i, j in zip(bins[:-1], bins[1:])] 

df['bin'] = pd.cut(df.value, bins=bins, labels=labels, right=False)
print (df)
   ID   value      bin
0   1   12.34    10-15
1   2  102.34  100-105
2   3   99.43   95-100
3   4  105.00  105-110
4   5  110.00  110-115
5   6  110.23  110-115
6   7    0.00      0-5
7   8    0.50      0-5