如何按python pandas中的列表值范围进行分组

时间:2018-01-16 11:57:43

标签: python pandas

我有以下数据框



name,value
a,100
b,200
c,150
d,300
e,400
f,200
g,100




我有[0-100,100-200,超过200]等范围列表

基于此我必须记录上述数据帧中的记录数。

我需要像

这样的输出



category,count
0-100,2
100-200,3
mor than 200,3




1 个答案:

答案 0 :(得分:1)

使用groupby + cut

bins = [-1, 100, 200, np.inf]
labels=['0-100','100-200','more than 200']
df=df.groupby(pd.cut(df['value'], bins=bins, labels=labels)).size().reset_index(name='count')
print (df)
           value  count
0          0-100      2
1        100-200      3
2  more than 200      2