在本文中,我将讨论如何使用BigQuery和Data Studio在一个地方将整个上下文中的统计信息引入
我需要可视化所有流量来源上的数据。
对于此任务,我使用Data Studio。 Google Ads正在以一种极好的方式被拉到那里,但是使用Yandex Direct,一切都变得更加复杂。
我为自己选择了半手动的统计数据统计方法:从计算机接收和发送统计数据。
我每天在DataFrame的各个部分中获取静态信息。

这很棒,因为pandas有一个pandas_gbq库,可以将DataFrames发送到BigQuery。
BigQuery中存储哪些统计信息
首先,让我们决定要发送统计信息的哪些部分。
由于我们可以在BigQuery中存储很多信息,因此我以天为单位发布了统计信息。
我们还需要考虑以下事实:由于广告系统由于点击而更新了旧的统计信息,因此至少需要获取一个月的统计数据才能进行重写。
因此,由于它经常是多余的,因此我暂时不使用针对自己的键的统计信息。
我将以哈萨克斯坦共和国为背景的每日统计数据为例。 (列:日期和PK)
接下来,我们将讨论如何修改DataFrame。
修改数据框
问题1
对于某些RC,我们将在行为因素和转化中获得空白字段

要解决此问题,您需要用“ 0”替换缺点。
f['Conversions'].replace(['--'],[0],inplace=True) f['CostPerConversion'].replace(['--'],[0],inplace=True) f['ConversionRate'].replace(['--'],[0],inplace=True) f['AvgPageviews'].replace(['--'],[0],inplace=True) f['BounceRate'].replace(['--'],[0],inplace=True)
并分配一个数字数据类型。
f[["Conversions","CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]]=f[["Conversions","CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]].apply(pd.to_numeric)
问题2
添加一个单独的索引列。 如果我们发送这样一个DataFrame或使用dtipe查看数据类型,则会看到没有带日期的列。
要解决此问题,请创建一个将等于索引列的列。
f['Date']=f.index
获取下一个DataFrame
将DataFrame发送到BigQuery
pandas_gbq.to_gbq(f,' .',project_id=' ',if_exists='replace')
我们指出了DataFrame的名称,数据集的名称,文件的名称(它可能尚不存在),项目的名称以及如何记录文件(在我们的情况下,文件将被完全重写)。
我们在BigQuery中得到以下内容:

它仅用于可视化DataStudio中的数据。 结束码:
f['Date']=f.index f['Conversions'].replace(['--'],[0],inplace=True) f['CostPerConversion'].replace(['--'],[0],inplace=True) f['ConversionRate'].replace(['--'],[0],inplace=True) f['AvgPageviews'].replace(['--'],[0],inplace=True) f['BounceRate'].replace(['--'],[0],inplace=True) f[["Conversions", "CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]] = f[["Conversions", "CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]].apply(pd.to_numeric) pandas_gbq.to_gbq(f, 'YD_Days.my_client_rk', project_id='my_project',if_exists='replace')
感谢您的关注!