Всем привет.
Дали задание, отфильтровать воронку продаж, состоящую из 4-х столбцов (id, page, date, device).
Разделить количество юзеров по странице, дате и девайсу, по девайсу и странице получилось как видно в коде, но вот по дате разделить не получается.
Суть задания - обойтись без библиотек pandas и numpy.
Вот если что ссылка на файл с данными
https://drive.google.com/file/d/1zaCTmUst-dOJNvsla...
import csv
funnel_device = {}
funnel_by_month = {}
funnel_template = {'1_home_page':0, '2_search_page':0, '3_payment_page':0, '4_payment_confirmation_page':0}
with open('click_stream2.csv', mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file, fieldnames=['ID','page','date', 'device'])
for row in csv_reader:
page = list(row.items())[1][1]
event_date = list(row.items())[2][1][:-3]
device_kind = list(row.items())[3][1]
if device_kind not in funnel_device:
funnel_device[device_kind] = funnel_template.copy()
if event_date not in funnel_by_month:
funnel_by_month[event_date] = funnel_device.copy()
if page == '1_home_page':
funnel_device[device_kind]['1_home_page'] += 1
elif page == '2_search_page':
funnel_device[device_kind]['2_search_page'] += 1
elif page == '3_payment_page':
funnel_device[device_kind]['3_payment_page'] += 1
else:
funnel_device[device_kind]['4_payment_confirmation_page'] += 1
funnel_device
{'Desktop': {'1_home_page': 60200,
'2_search_page': 30100,
'3_payment_page': 3010,
'4_payment_confirmation_page': 150},
'Mobile': {'1_home_page': 30200,
'2_search_page': 15100,
'3_payment_page': 3020,
'4_payment_confirmation_page': 302}}