1
我有數據在TB中。因此,當我無法同時加載所有數據時,標準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
但是目前還不清楚一般的方法是什麼。我怎樣才能做到這一點高階時刻?
此外,我有興趣繪製分佈。說我決定去直方圖。在開始時不知道分配的限制,很難創建垃圾箱。我是否首先需要遍歷整個發行版以獲取最小值和最大值,然後創建箱並開始計數?還是有更好的方法?