<p>为了得到给定间隔binned范围内的值的频率计数,我们可以使用<a href="http://pandas.pydata.org/pandas-docs/version/0.19.0/generated/pandas.cut.html" rel="noreferrer">^{<cd1>}</a>来返回每个元素的半打开的bin的索引以及<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.value_counts.html" rel="noreferrer">^{<cd2>}</a>来计算它们各自的计数。</p>
<p>要绘制计数,可以绘制条形图。</p>
<pre><code>step = 50
bin_range = np.arange(-200, 1000+step, step)
out, bins = pd.cut(s, bins=bin_range, include_lowest=True, right=False, retbins=True)
out.value_counts(sort=False).plot.bar()
</code></pre>
<p><a href="https://i.stack.imgur.com/sZBWd.png" rel="noreferrer"><img src="https://i.stack.imgur.com/sZBWd.png" alt="enter image description here"/></a></p>
<p>按计数降序排列的每个间隔的频率:</p>
<pre><code>out.value_counts().head()
[-100, -50) 18
[0, 50) 16
[800, 850) 2
[-50, 0) 2
[950, 1000) 1
dtype: int64
</code></pre>
<hr/>
<p>为了美观起见,要修改绘图以仅包含范围的较低闭合间隔,可以执行以下操作:</p>
<pre><code>out.cat.categories = bins[:-1]
out.value_counts(sort=False).plot.bar()
</code></pre>
<p><a href="https://i.stack.imgur.com/Wu0XU.png" rel="noreferrer"><img src="https://i.stack.imgur.com/Wu0XU.png" alt="enter image description here"/></a></p>