Идею объединения сервисов Музыка и Радио тестировали на небольшой группе пользователей. Результаты сведены в csv-файл, который вам предстоит изучить. Итог анализа таких данных — это метрики: величины, значения которых отражают пользовательские впечатления. Одна из важнейших — happiness. Здесь это среднее время, которое пользователь слушает музыку в течение выбранного периода времени (в нашей задаче — за сутки). Чем дольше пользователь слушает музыку, тем он довольнее. Ваша задача: найти значение happiness и посмотреть, как оно поменялось с прошлого эксперимента. В анализе данных важно наглядное представление результатов, чтобы их мог оценить заказчик. Это бизнес, где на кону громадный трафик, серверные мощности, личное время многотысячной аудитории. И одновременно это исследование. Как в настоящей экспериментальной науке, ответ непредсказуем. Его точность зависит от умелого владения статистическими методами и от качества исходных данных. Перед тем, как начинать считать, проверьте, грамотно ли ваши данные подготовлены. Ознакомление с данными: в предыдущих сериях. Перед тем, как браться за статистику, нужно: 1. Прочесть исходный файл и превратить его в структуру данных К заданию прилагается файл в формате csv, где все значения разделены запятыми. Это наши исходные данные. Чтобы применить к ним все возможности языка Python и библиотеки Pandas, надо импортировать эту библиотеку и сохранить её в переменной. По сокращённому названию панельных данных (panel data), с которых начиналась Pandas, эту переменную принято называть pd: import pandas as pd Для чтения csv-файла в библиотеке Pandas есть готовая функция — метод read_csv(). Как и все методы, он вызывается записью через точку после имени своего объекта. В скобках указывается аргумент (параметр) метода. У read_csv() это имя файла с данными. Прочтение превращает файл в структуру данных DataFrame. Имя переменной, в которой эта структура данных сохраняется, чаще всего df либо отражает тематику данных: df = pd.read_csv('music_log.csv') 2. Посмотреть на данные Вывести на экран таблицу и оценить данные: print(df) Как правило, таблица очень велика. Практичнее запросить определённое количество первых строк, методом head(): print(df.head(15)) # выведет первые 15 строк таблицы 3. Оценить качество предподготовки Нужно убедиться в том, что данные прошли предподготовку. По крайней мере, не должно быть пропусков и повторов. Пропущенные и неопределённые значения выявляет метод isna(), а суммарное количество таких значений — метод sum(). Обратите внимание: мы записали вызов обоих методов в одну строку, разделив их точкой. Python сначала вызовет метод isna(), а затем результаты его работы передаст методу sum(). print(df.isna().sum()) Повторяющиеся строки — дубликаты — выявляются методом duplicated() и подсчитываются тем же sum(): print(df.duplicated().sum()) Если возвращаются нули, всё хорошо — данные пригодны для исследования. TASK_1_4 Прочитайте данные из файла music_log_upd.csv и выведите первые 10 строк. music_log_upd.csv — обновлённый файл с данными, которые прошли предобработку в предыдущей теме. SOLUTION import pandas as pd df = pd.read_csv('music_log_upd.csv') print(df.head(10)) TASK_2_4 Получите список названий столбцов, запросив атрибут columns. Результат выведите на экран. SOLUTION import pandas as pd df = pd.read_csv('music_log_upd.csv') print(df.columns) TASK_3_4 Посчитайте количество пустых значений в наборе данных, сохраните результат в переменной na_number. Выведите её значение на экран. SOLUTION import pandas as pd df = pd.read_csv('music_log_upd.csv') na_number=(df.isna().sum()) print(na_number) TASK_4_4 Посчитайте количество дубликатов в наборе данных, сохраните результат в переменной duplicated_number. Выведите её значение на экран. SOLUTION import pandas as pd df = pd.read_csv('music_log_upd.csv') duplicated_number=df.duplicated().sum() print(duplicated_number)