擅长:python、mysql、java
<p>这个问题也可以通过<a href="http://pandas.pydata.org/" rel="nofollow noreferrer">python pandas</a>(Python数据分析库)有效地解决,它提供了本地的数据切割和分析方法。在</p>
<p>想想这个</p>
<p>(我从他的例子中借用了<code>X</code>和{<cd2>}的例子,向@Hooked致敬)</p>
<pre><code> import pandas as pd
df = pd.DataFrame({'X' : X, 'Y' : Y}) #we build a dataframe from the data
data_cut = pd.cut(df.X,bins) #we cut the data following the bins
grp = df.groupby(by = data_cut) #we group the data by the cut
ret = grp.aggregate(np.median) #we produce an aggregate representation (median) of each bin
#plotting
plt.scatter(df.X,df.Y,color='k',alpha=.2,s=2)
plt.plot(ret.X,ret.Y,'r--',lw=4,alpha=.8)
plt.show()
</code></pre>
<p>备注:此处红色曲线的x值为按箱的x-中间值(可以使用箱子的中点)。在</p>
<p><img src="https://i.stack.imgur.com/nyC29.png" alt="enter image description here"/></p>