【问题标题】:Missing records using chunksize - Pandas and Google Analytics API integration使用 chunksize 丢失记录 - Pandas 和 Google Analytics API 集成
【发布时间】: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


    【解决方案1】:

    总共 10000 行是 google 分析 API (https://developers.google.com/analytics/devguides/reporting/core/v3/reference#maxResults) 施加的限制

    代码使用 start_index 发出多个请求并绕过限制。我将此标记为熊猫中的错误:https://github.com/pydata/pandas/issues/2805 有机会我会去看看。如果您可以显示一些预期数据与您通过 pandas 获得的数据,那将很有帮助。

    作为一种解决方法,我建议每天迭代并提出每日请求。

    【讨论】:

    • 感谢您的浏览,Chang;解决方法表示赞赏。我会将对此的任何后续行动转移到 GitHub 上的问题上。
    • @gjreda 我尝试使用 ga-dev-tools.appspot.com/explorer 并得到相同的差异。如果您不使用 chunksize 但指定了更多维度,则按日期计算的总计与仅指定一个维度时不同。请试一试,看看你是否得到同样的东西。这里肯定有一些 Google Analytics 查询 api 的微妙之处。很高兴继续在 github 上讨论。
    • 将对话转移到bug report on GitHub。更容易将对话集中在一个地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2014-03-06
    相关资源
    最近更新 更多