【发布时间】:2013-01-19 17:47:45
【问题描述】:
我正在通过 pandas 和 Google Analytics API 自动生成一些报告。当请求拆分数据的多个维度时,生成的记录集远高于 pandas 施加的默认 10k max_result 限制。
为了解决这个问题,我为 max_results 参数传递了一个大数字并指定了一个块大小。我的意图是然后迭代生成的生成器以创建一个大型 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()
但是,很明显,由于每日总访问量与 Google Analytics(分析)不匹配,某些记录并未被提取。
我只选择几个维度时不会遇到这个问题。比如……
test = ga.read_ga(metrics=["visits"], dimensions=["date"],
start_date="2012-12-01", end_date="2012-12-31")
test.groupby(level="date").sum()
...产生的数字与 Google Analytics(分析)相同。
提前感谢您的帮助。
【问题讨论】:
标签: python google-analytics pandas google-analytics-api