Pandas计算每个范围之间的值的数量

AZh*_*hao 7 python pandas

我想在某些自定义范围之间找到我的数据计数.

说我有一些数据:

import random

my_randoms = random.sample(xrange(100), 10)        
test = pd.DataFrame(my_randoms,columns = ["x"])
Run Code Online (Sandbox Code Playgroud)

如何生成显示不同范围之间的值数的数据框?例如,假设我想看看在0-19,20-39,40-59,60-79,80-100之间出现了多少个值.输出数据框将有一列包含这些范围,另一列包含计数.

我可以想到一些丑陋的方法,包括使用.apply获取一个新的列列表,说明它们之间的值(然后做一个groupby),但我怀疑pandas有一种更清洁的方式潜伏着.

AZh*_*hao 7

Per Jarad与其他问题的链接:

test.groupby(pd.cut(test['x'], np.arange(0,100,20))).count()
Run Code Online (Sandbox Code Playgroud)