Ro-ràdh
Tha Amplitude air a dhearbhadh fhèin gu math mar inneal anailis toraidh air sgàth cho furasta ‘s a tha e tachartas tachartais agus sùbailteachd fradharc. Agus gu tric feumar am modail buadhachaidh agad fhèin a stèidheachadh, luchd-cleachdaidh cnuasachaidh, no deas-bhòrd a thogail ann an siostam BI eile. Chan urrainnear a leithid de fhoill a dhèanamh ach le dàta tachartas amh bho Amplitude. Innsidh an artaigil seo dhut mar a gheibh thu an dàta seo le glè bheag de eòlas prògramadh.
Ro-ghoireasan
- Pròiseact ann an Amplitude anns a bheil tachartasan mar-thà air an rèiteachadh gu ceart agus staitistig gan cruinneachadh
- Tha Python air a chuir a-steach (tha mi ag obair ann an dreach 3.8.3), leis an urrainn don leughadair a bhith ag obair leis co-dhiù aig ìre bhunasach
Stiùireadh
Ceum 1. A 'faighinn API-iuchair agus dìomhair-iuchrach
Gus dàta a luchdachadh suas, feumaidh tu an toiseach iuchair API agus iuchair dhìomhair fhaighinn.
Gheibh thu iad le bhith a’ leantainn na slighe a leanas:
- “Stiùirich dàta” (suidhichte aig bonn clì na sgrìn)
- Tagh am pròiseact a tha thu ag iarraidh bhon tèid an dàta a luchdachadh sìos agus rachaibh thuige
- Ann an clàr-taice a 'phròiseict a tha a' fosgladh, tagh "Project settings"
- Lorgaidh sinn na sreathan API-key agus dìomhair-iuchrach, dèan lethbhreac agus sàbhail iad ann an àite sàbhailte.
Gun cliogadh, faodaidh tu an ceangal a leantainn, a tha san fharsaingeachd a’ coimhead mar seo:
analytics.amplitude.com/$$$$$$/manage/project/******/settings,
far a bheil $$$$$$ mar logadh a-steach leudachd na buidhne agad, is e ****** àireamh a’ phròiseict
Ceum 2: Dèan sgrùdadh air làthaireachd nan leabharlannan a tha a dhìth
Is e an deagh naidheachd gu bheil thu cha mhòr cinnteach gu bheil na leabharlannan sin air an stàladh gu bunaiteach no air an luchdachadh sìos, ach feumaidh tu sgrùdadh a dhèanamh. An liosta iomlan de leabharlannan a chleachd mi aig àm sgrìobhaidh (tha dreachan ann am bragan air an comharrachadh far a bheil sin iomchaidh):
- iarrtasan (2.10.0) - a’ cur iarrtas tro api gus dàta fhaighinn
- pandathan (1.0.1) - a’ leughadh json, a’ cruthachadh frèam-dàta agus an uairsin a’ sgrìobhadh gu faidhle
- zipfile - thoir a-mach faidhlichean bho thasglann a gheibhear tron API
- gzip - dì-phapadh faidhlichean json bho .gz
- os - a' faighinn liosta fhaidhlichean bho thasglann gun phacaid
- ùine - roghainneil, tomhas ùine ruith an sgriobt
- tqdm - roghainneil, airson sùil a chumail gu furasta air adhartas giollachd fhaidhlichean
Ceum 3. A 'sgrìobhadh sgriobt luchdadh dàta
Beachd: tha an sgriobt làn luchdachadh sìos aig deireadh an artaigil; ma thogras tu, faodaidh tu a ghabhail sa bhad agus iomradh a thoirt air na mìneachaidhean ceum air cheum ma tha sin riatanach.
Ceum 3.1. A’ toirt a-steach leabharlannan
Bidh sinn a’ toirt a-steach a h-uile leabharlann a tha air an liostadh san dàrna ceum.
# Импорт библиотек
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm
Ceum 3.2. A’ cur a-steach iarrtas gu Amplitude
Feuch an lorg sinn toiseach cur an gnìomh sgriobt agus sgrìobh e gu caochladair a.
tha ceann-latha tòiseachaidh agus ceann-latha an urra ris an ùine airson dàta a luchdachadh sìos agus tha iad air an togail a-steach do theacsa an iarrtais a chaidh a chuir chun t-seirbheisiche Amplitude; a bharrachd air a’ cheann-latha, faodaidh tu cuideachd an uair a shònrachadh le bhith ag atharrachadh an luach às deidh ‘T’ san iarrtas.
api_key agus secret_key a’ freagairt ris na luachan a fhuaireadh sa chiad cheum; airson adhbharan tèarainteachd, bidh mi a’ sònrachadh sreathan air thuaiream an seo an àite mo chuid fhìn.
a = time.time()
# Параметры начальной и конечной даты
startdate = '20200627'
enddate = '20200628'
api_key = 'kldfg844203rkwekfjs9234'
secret_key = '094tfjdsfmw93mxwfek'
# Отправление запроса в Amplitude
response = requests.get('https://amplitude.com/api/2/export?start='+startdate+'T0&end='+enddate+'T0', auth = (api_key, secret_key))
print('1. Запрос отправлен')
Ceum 3.3. Luchdaich a-nuas tasglann le dàta
Bidh sinn a’ tighinn suas le ainm airson an tasglann agus ga sgrìobhadh chun chaochladair ainm faidhle. Airson mo ghoireasachd, tha mi a’ comharrachadh an ùine + comharraich gur e dàta leudachaidh a tha seo. An uairsin, bidh sinn a’ clàradh an fhreagairt a fhuair sinn bho Amplitude a-steach don tasglann.
# Скачивание архива с данными
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
code.write(response.content)
print('2. Архив с файлами успешно скачан')
Ceum 3.4. Faidhlichean a luchdachadh a-nuas bho am pasgan air a ' choimpiutair agad
Thig an leabharlann zipfile a-steach gus cuideachadh le bhith a’ toirt a-mach faidhlichean. Anns an treas loidhne, bi faiceallach agus sgrìobh sìos do shlighe far a bheil e nas fhasa dhut a tharraing.
# Извлечение файлов в папку на компьютере
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. Архив с файлами извлечен и записан в папку ' + filename)
Ceum 3.5. tionndadh json
Às deidh dhut na faidhlichean a thoirt a-mach às an tasglann, feumaidh tu faidhlichean json a thionndadh gu cruth .gz agus an sgrìobhadh gu frèam-dàta airson tuilleadh obrach.
Thoir an aire gum feum thu an t-slighe agad atharrachadh a-rithist chun fhear agad fhèin, agus an àite 000000 sgrìobh àireamh do phròiseact bho Amplitude (no fosgail le làimh an t-slighe far an deach an tasglann a thoirt a-mach agus coimhead air ainm a’ phasgan a-staigh).
Ann an òrdugh:
A’ sgrìobhadh eòlaire gu caochladair, a’ faighinn liosta fhaidhlichean bho eòlaire, a’ cruthachadh frèam dàta falamh, time.sleep(1) airson tqdm obrachadh gu ceart, taobh a-staigh an lùb bidh sinn a’ fosgladh faidhlichean .gz agus a’ cleachdadh pandathan sa bhad gus json a leughadh agus a lìonadh am frèam dàta a chaidh a thoirt seachad.
# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'\000000'
files = os.listdir(directory)
amplitude_dataframe = pd.DataFrame()
print('Прогресс обработки файлов:')
time.sleep(1)
for i in tqdm(files):
with gzip.open(directory + '\' + i) as f:
add = pd.read_json(f, lines = 'True')
amplitude_dataframe = pd.concat([amplitude_dataframe, add])
time.sleep(1)
print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')
0000'
files = os.listdir(directory)
amplitude_dataframe = pd.DataFrame()
print('Прогресс обработки файлов:')
time.sleep(1)
for i in tqdm(files):
with gzip.open(directory + '\' + i) as f:
add = pd.read_json(f, lines = 'True')
amplitude_dataframe = pd.concat([amplitude_dataframe, add])
time.sleep(1)
print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')
Ceum 3.6. A ' sgrìobhadh an stòr-dàta ann an excel
Tha an luchdachadh suas gu excel mar eisimpleir an seo. Ann an iomadh cùis, tha e nas fhasa obrachadh leis an fhrèam dàta a thig às a-staigh python no an dàta a chuir ann an stòradh.
Feumaidh tu cuideachd do shlighe fhèin a chuir an àite an t-slighe luchdachadh suas dàta an seo.
# Записать полученной таблицы в Excel-файл
amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False)
print('5. Dataframe успешно записан в файл ' + filename)
Ceum 3.7. Bidh sinn a’ cunntadh ùine ruith an sgriobt
Clàradh na h-ùine làithreach anns a’ chaochladair b, obrachadh a-mach an eadar-dhealachaidh agus an àireamh de gheàrr-chunntasan, a’ taisbeanadh na geàrr-chunntasan iomlan. Is e seo an ceum mu dheireadh.
b = time.time()
diff = b-a
minutes = diff//60
print('Выполнение кода заняло: {:.0f} минут(ы)'.format( minutes))
co-dhùnadh
Faodaidh tu fios a chuir chun chlàr agus tòiseachadh ag obair leis le bhith a’ gairm an caochladair amplitude_dataframe anns an deach an dàta a sgrìobhadh. Bidh timcheall air 50 colbh ann, agus ann an 80% de chùisean cleachdaidh tu: event_type - ainm an tachartais, event_properties - paramadairean tachartais, event_time - àm tachartais, uuid - id teachdaiche, cleachdaiche_properties - paramadairean teachdaiche, bu chòir dhut tòiseachadh ag obair còmhla riutha an-toiseach . Agus nuair a thathar a’ dèanamh coimeas eadar figearan bhon àireamhachadh agad fhèin le taisbeanairean bho chlàran-amais Amplitude, cha bu chòir dhut dìochuimhneachadh gu bheil an siostam a’ cleachdadh a dhòigh-obrach fhèin airson a bhith a’ tomhas teachdaichean / tunailean sònraichte, msaa, agus mus dèan thu seo, bu chòir dhut na sgrìobhainnean Amplitude a leughadh gu cinnteach.
Tapadh leibh airson an aire agad! A-nis faodaidh tu dàta tachartais amh a luchdachadh suas gu Amplitude agus a chleachdadh gu h-iomlan nad obair.
Sgriobt slàn:
# Импорт библиотек
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm
a = time.time()
# Параметры начальной и конечной даты
startdate = '20200627'
enddate = '20200628'
api_key = 'd988fddd7cfc0a8a'
secret_key = 'da05cf1aeb3a361a61'
# Отправление запроса в Amplitude
response = requests.get('https://amplitude.com/api/2/export?start='+startdate+'T0&end='+enddate+'T0', auth = (api_key, secret_key))
print('1. Запрос отправлен')
# Скачивание архива с данными
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
code.write(response.content)
print('2. Архив с файлами успешно скачан')
# Извлечение файлов в папку на компьютере
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. Архив с файлами извлечен и записан в папку ' + filename)
# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'# Импорт библиотек
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm
a = time.time()
# Параметры начальной и конечной даты
startdate = '20200627'
enddate = '20200628'
api_key = 'd988fddd7cfc0a8a'
secret_key = 'da05cf1aeb3a361a61'
# Отправление запроса в Amplitude
response = requests.get('https://amplitude.com/api/2/export?start='+startdate+'T0&end='+enddate+'T0', auth = (api_key, secret_key))
print('1. Запрос отправлен')
# Скачивание архива с данными
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
code.write(response.content)
print('2. Архив с файлами успешно скачан')
# Извлечение файлов в папку на компьютере
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. Архив с файлами извлечен и записан в папку ' + filename)
# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'\000000'
files = os.listdir(directory)
amplitude_dataframe = pd.DataFrame()
print('Прогресс обработки файлов:')
time.sleep(1)
for i in tqdm(files):
with gzip.open(directory + '\' + i) as f:
add = pd.read_json(f, lines = 'True')
amplitude_dataframe = pd.concat([amplitude_dataframe, add])
time.sleep(1)
print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')
# Записать полученной таблицы в Excel-файл
amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False)
print('5. Dataframe успешно записан в файл ' + filename)
b = time.time()
diff = b-a
minutes = diff//60
print('Выполнение кода заняло: {:.0f} минут(ы)'.format( minutes))
0000'
files = os.listdir(directory)
amplitude_dataframe = pd.DataFrame()
print('Прогресс обработки файлов:')
time.sleep(1)
for i in tqdm(files):
with gzip.open(directory + '\' + i) as f:
add = pd.read_json(f, lines = 'True')
amplitude_dataframe = pd.concat([amplitude_dataframe, add])
time.sleep(1)
print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')
# Записать полученной таблицы в Excel-файл
amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False)
print('5. Dataframe успешно записан в файл ' + filename)
b = time.time()
diff = b-a
minutes = diff//60
print('Выполнение кода заняло: {:.0f} минут(ы)'.format( minutes))
Source: www.habr.com