In diesem Artikel werde ich darüber sprechen, wie ich mithilfe von BigQuery und Data Studio Statistiken über den gesamten Kontext an einen Ort gebracht habe
Ich musste Daten zu allen Verkehrsquellen visualisieren.
Für diese Aufgabe verwende ich Data Studio. Google Ads wird dort auf hervorragende Weise geschaltet, aber mit Yandex Direct ist alles komplizierter.
Ich habe mich für die halbmanuelle Methode der Statistikstatistik entschieden: Empfangen und Senden von Statistiken von meinem Computer.
Ich bekomme täglich Statik in verschiedenen Abschnitten in einem DataFrame.

Und das ist großartig, weil pandas eine pandas_gbq-Bibliothek hat, die DataFrames an BigQuery senden kann.
Welche Statistiken in BigQuery zu speichern
Lassen Sie uns zunächst entscheiden, welche Abschnitte der Statistik gesendet werden sollen.
Da wir viele Informationen in BigQuery speichern können, habe ich Statistiken für mich in Tagen erstellt.
Wir müssen auch die Tatsache berücksichtigen, dass wir Statistiken für mindestens einen Monat zum Umschreiben abrufen müssen, da Werbesysteme alte Statistiken aufgrund eines Klicks aktualisieren.
Daher verwende ich vorerst keine Statistiken in Bezug auf Schlüssel für mich selbst, da diese häufig redundant sind.
Ich werde alles am Beispiel der täglichen Statistik im Kontext der Republik Kasachstan erzählen. (Spalten: Datum und PK)
Als nächstes werden wir darüber sprechen, wie Sie den DataFrame so ändern, dass er funktioniert.
Änderungsdatenrahmen
Problem 1
Für einige RCs erhalten wir leere Felder in Verhaltensfaktoren und Conversions

Um dieses Problem zu umgehen, müssen Sie die Nachteile durch "0" ersetzen.
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)
Und weisen Sie einen numerischen Datentyp zu.
f[["Conversions","CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]]=f[["Conversions","CostPerConversion","ConversionRate","AvgPageviews","BounceRate"]].apply(pd.to_numeric)
Problem 2
Fügen Sie eine separat indizierte Spalte hinzu. Wenn wir einen solchen DataFrame senden oder den Datentyp mit dtipe betrachten, sehen wir, dass es keine Spalte mit Datumsangaben gibt.
Um dies zu beheben, erstellen Sie eine Spalte, die der indizierten Spalte entspricht.
f['Date']=f.index
Holen Sie sich den nächsten DataFrame
Senden eines DataFrame an BigQuery
pandas_gbq.to_gbq(f,' .',project_id=' ',if_exists='replace')
Wir geben den Namen des DataFrame, den Namen des Datasets, den Namen der Datei (möglicherweise noch nicht vorhanden), den Namen des Projekts und die Art der Aufzeichnung der Datei an (in unserem Fall wird die Datei vollständig überschrieben).
In BigQuery erhalten wir Folgendes:

Es bleibt nur die Visualisierung der Daten in DataStudio. Endcode:
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')
Vielen Dank für Ihre Aufmerksamkeit!