我有一个DataFrame:
ID Value
1 1
2 2
3 1
4 1
5 2
6 3
7 4
8 5
9 10
10 15
我想按我的值分组并计算ID,该ID在自定义范围内:<= 2、3-9,> = 10
结果如下:
Value ID
<=2 5
3-9 3
>= 10 2
答案 0 :(得分:3)
import numpy as np
labels = ['<=2', '3-9', '>=10']
bins = [0,2,9, np.inf]
df.groupby(pd.cut(df['Value'], bins, labels=labels)).size().to_frame('ID')
# Output
ID
Value
<= 2 5
3-9 3
>=10 2
答案 1 :(得分:1)
我认为您不需要分组。
labels = ['<=2', '3-9', '>=10']
bins = [0,2,9, np.inf]
pd.cut(df['Value'],bins=bins,labels=labels).value_counts().reset_index()
#out[]
index Value
<=2 5
3-9 3
>=10 2