私は Python で非常に大きなデータセットを扱っているので、配列の代わりにヒストグラムを使用しようとしています (配列は保存/読み込み/マッピングするには大きすぎます)。私はたくさんのファイルをクロールしてそれらから情報を引き出しています。その後、情報を取得してヒストグラムを再作成したいと思います。次のように、1D ヒストグラムでこれを行うことができます。
counter, bins = np.histogram(nSigmaProtonHisto, bins=1000, range=(-10000, 10000))
nSigmaProtonPico[0] += counter
nSigmaProtonPico[1] = bins[:-1]
nSigmaProtonPico は、ビンのエッジとヒストグラム値の最終カウントを格納する 2D 配列です。nSigmaProtonHisto は特定のイベントの 1D 配列であり、何百万ものイベントをループします。スクリプトが完了すると、すべてのイベントがクロールされ、ヒストグラムの値と位置を含む 2D 配列が作成されます。次のように簡単にグラフ化できます。
plt.plot(nSigmaProtonPico[1], nSigmaProtonPico[0])
2D ヒストグラムに対してこれを実行しようとすると、バラバラになります。何かが足りない。ここに私が持っているものがあります:
counter, bins1, bins2 = np.histogram2d(dEdX, pG, bins=1000, range=((0, 20), (-5, 5)))
dEdXpQPRIME[0] += counter[0]
dEdXpQPRIME[1] += counter[1]
dEdXpQPRIME[2] = bins1[:-1]
dEdXpQPRIME[3] = bins2[:-1]
これで何かが得られますが、すべてのデータから得られるヒストグラムを再現するようにプロットする方法がわかりません。x、y、z 座標と同じくらい単純だと思いますが、3 つの座標ではなく 4 つの座標があります。
私は何が欠けていますか?