我是python和Pandas的新手。我有一个像下面这样的pandas数据框:
id value
0 10
1 0
2 1
3 3
4 3
5 3
6 5
如何获取垃圾箱列表以及落入每个垃圾箱的物品数量。例如,在这种情况下,我想要这样的东西
{ {range: 0-1, count: 2},
{range: 2-3, count: 3},
{range: 4-5, count: 1}
}
答案 0 :(得分:2)
使用pd.cut
,groupby
,count
和to_dict
:
df['range'] = pd.cut(df.value,[-1,2,4,6],labels=['0-1','2-3','4-5'])
df.groupby('range')['value'].count().reset_index(name='Count').to_dict(orient='records')
输出:
[{'range': '0-1', 'Count': 2}, {'range': '2-3', 'Count': 3}, {'range': '4-5', 'Count': 1}]