私はデータセットの分散を、データをブートストラップ(再サンプリング)することで、その例を挙げたいと思います。PythonとMatplotlib:ブートストラップヒストグラムプロットの範囲をプロットするにはどうすればよいですか?
from numpy.random import randn
fig,ax = plt.subplots()
bins = arange(-5,6,0.5)
df = pd.DataFrame(randn(3000))
df.hist(ax=ax, bins=bins, alpha = 0.7, normed=True)
count_collection = []
for i in xrange(1,100):
temp_df = df.sample(frac=0.5, replace=True)
temp_df.hist(ax=ax, bins=bins, alpha = 0.25, normed=True)
count, division = np.histogram(temp_df, bins=bins)
count_collection.append(count)
しかし、そのようなプロットは限界が見えにくいです。ヒストグラムの上限値と下限値をプロットすることが可能なのでしょうか?それで、各ビンのBoxplotのような、もっと明瞭に見えるでしょうか?範囲を示す上限/下限と
http://matplotlib.org/_images/boxplot_demo_06.png
または単に曲線?
私の主な問題は、各ビンのための最大/最小値を抽出している(count_collection
)
UPDATE:
は何範囲をプロットする良い方法だろうか?
count_collection = np.array(count_collection)
mx = np.max(count_collection,0)
mn = np.min(count_collection,0)
ax.plot(division[1:]-0.25, mx, '_', mew=1)
ax.plot(division[1:]-0.25, mn, '_', mew=1)
私は、これはまだ、任意の提案を見てするのは難しいです見つけますか?最大値を抽出し、次を使用することができる分
ビンニングを行う[numpy.histogram'](http://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html)関数を見てみるとよいでしょう。プロットをせずに。それを使ってデータを取得し、それをプロットすることができます。 – BrenBarn
@BrenBarn私は 'np.histogram'を知っていますが、実際にはすべてのデータを収集するために使用します。私はちょうど値のコレクションから最大/最小値を取得する方法がわからない。 – cqcn1991
補足として、 'count'は' temp_df'を集めるべきではありませんか?さもなければ、それは 'df'のちょうど100の反復であるようです... – Aguy