如何在0-10,10-20,... 90-100范围内的每个分区获取计数

ren*_*kre 4 python numpy scipy pandas

我的数据范围为1-100.我希望按以下范围计算这些数据.假设我有这些数据:[17, 30, 62 65, 92, 95, 98].我想得到这个:

00-10: 0
11-20: 1
21-30: 1
31-40: 0
41:50: 0
51:60: 0
61:70: 2
71:80: 0
81:90: 0
91:100: 3
Run Code Online (Sandbox Code Playgroud)

我想知道是否有pandas/numpy/spicy功能可以快速实现这一目标.我感谢任何帮助!

jez*_*ael 5

你可以用cutvalue_counts:

bins = np.arange(0,110,10)
s = pd.Series([17, 30, 62, 65, 92, 95, 98])
s1 = pd.cut(s, bins=bins)
print (s1.value_counts(sort=False))
(0, 10]      0
(10, 20]     1
(20, 30]     1
(30, 40]     0
(40, 50]     0
(50, 60]     0
(60, 70]     2
(70, 80]     0
(80, 90]     0
(90, 100]    3
dtype: int64
Run Code Online (Sandbox Code Playgroud)


Dan*_*l F 5

这只是直方图,所以 np.histogram(data, np.arange(0,101,10))[0]