私はパンダとGoogleAnalyticsAPIを介していくつかのレポートを自動化することに取り組んでいます。データを分割するために複数のディメンションを要求すると、結果のレコードセットは、パンダによって課されるデフォルトの10kmax_result制限をはるかに上回ります。
これを回避するために、max_resultsパラメーターに多数を渡し、チャンクサイズを指定しています。次に、結果のジェネレーターを反復処理して、すべての操作を実行できる1つの大きなDataFrameを作成することを目的としています。
from pandas.io import ga
import pandas as pd
max_results = 1000000
chunks = ga.read_ga(metrics=["visits"],
dimensions=["date", "browser", "browserVersion",
"operatingSystem", "operatingSystemVersion",
"isMobile", "mobileDeviceInfo"],
start_date="2012-12-01",
end_date="2012-12-31",
max_results=max_results,
chunksize=5000)
stats = pd.concat([chunk for chunk in chunks])
stats.groupby(level="date").sum()
ただし、1日の全体的な訪問数がGoogleアナリティクスと一致しないため、一部のレコードが取得されていないことは明らかです。
いくつかのディメンションのみを選択した場合、この問題は発生しません。例えば ...
test = ga.read_ga(metrics=["visits"], dimensions=["date"],
start_date="2012-12-01", end_date="2012-12-31")
test.groupby(level="date").sum()
...GoogleAnalyticsと同じ数値を生成します。
助けてくれてありがとう。