私はテラバイト単位のデータを持っています。したがって、標準のpandas
とnumpy
手続き(group-by
、mean
、histogram
など)は、すべてのデータを同時に読み込むことができない場合は機能しません。ビッグデータメソッド:データモーメントの反復(チャンクワイズ)計算
私のデータは、可変チャンクサイズのチャンクを持つイテレータを返すことができるpandas.HDFStore.select
から来ます。
ここで必要なのは、繰り返しアプローチに基づいてデータのモーメントを計算する方法に関するメソッドです。
期待値はストレートフォワードです:
n, mean = 0, 0
for chunk in iterator:
nCurrent = len(chunk)
meanCurrent = chunk['variable'].mean()
mean = (n * mean + nCurrent * meanCurrent)/(n + nCurrent)
n += nCurrent
それは一般的なアプローチが何であるかは明らかではないのですが。 高次の瞬間の場合、どうすればいいですか?
また、私は分布をプロットすることに興味があります。私はヒストグラムのために行くことを決めたと言う。最初に配布の限界を知らなくても、ビンを作成するのは難しいです。まず、ディストリビューション全体を一度反復して最小値と最大値を取得し、次にビンを作成してカウントを開始する必要がありますか?それとも良い方法がありますか?平均ため