[NumPy] 12. ヒストグラムからデータを再構築

matplotlib

はじめに

np.random.normalで作成した正規分布のデータのヒストグラムを作成して、そのヒストグラムから再度データを作成する方法について説明する。

コード

コードをダウンロード(.pyファイル)コードをダウンロード(.ipynbファイル)

解説

モジュールのインポートなど

バージョン

正規分布データの生成

np.random.normal(0,10,10000)で平均0標準偏差10の正規分布に従うデータを10000個作成する。
np.histogram(data, bins=100)でヒストグラムデータを作成する。図示すると以下のようになる。

ヒストグラムからのデータ再構築

最初にヒストグラムが0より大きい配列を準備する。この際にbinsには幅の半分を加算しておく。

その後np.ones(histo_re[i])で各ヒストグラムの値の数だけ要素が1の配列を作成し、それにbins_reをかけることでデータを得る。これらのデータを作成した空のnp.arrayに流し込んでいく。

再構築した配列の形状と要素種は以下の通りとなる。

再ヒストグラム化

再構築したデータを再びヒストグラム化して表示すると以下のようになる。

参考

numpy.histogram — NumPy v1.20 Manual
numpy.random.normal — NumPy v1.20 Manual
numpy.ones — NumPy v1.20 Manual

コメント