Войти
или
Зарегистрироваться
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Статья Автор:
Веденеев Дмитрий
Самматив Python
Выполнение самматива. Задание:
Вывести самое просматриваемое видео
Вывести самое раннее видео из опубликованных
Построить диаграмму количества видео по просмотрам
Датасет содержит информацию о видео по физике с YouTube
#Импорт библиотек для анализа данных и графиков import pandas as pd import matplotlib.pyplot as plt
×
#Импорт csv-документа с данными df = pd.read_csv('Youtube_Physics-Videos_Data - Sheet1.csv') df_c = pd.read_csv('Youtube_Physics-Videos_Data - Sheet1.csv')
×
#Переименование колонок в адекватный формат df.columns = ['title', 'video_link', 'views', 'posted_ago', 'author', 'author_link', 'description'] df_c.columns = ['title', 'video_link', 'views', 'posted_ago', 'author', 'author_link', 'description']
×
#Удаление лишнего текста из числовых данных df['views'] = df['views'].map(lambda x: x.rstrip(' views watching'))
×
#Замена M на нужное число нулей, 6 при отсутствии и 5 при наличии запятой df['views'] = df['views'].map(lambda x: x.replace('M', '00000') if ('.' in x) else x.replace('M', '000000'))
×
#Замена К на нужное число нулей, 3 при отсутствии и 2 при наличии запятой df['views'] = df['views'].map(lambda x: x.replace('K', '00') if ('.' in x) else x.replace('K', '000'))
×
#Удаление запятых df['views'] = df['views'].map(lambda x: x.replace('.', ''))
×
#Замена отсутствия просмотров на 0 df['views'] = df['views'].map(lambda x: x.replace('No', '0'))
×
#Изменение типа данных колонки 'views' с object на int64 df['views'] = df['views'].astype(int)
×
#Заполнение всех пропусков нулями df = df.fillna('0') df_c = df_c.fillna('0')
×
#Вывод датасета с видео, выпущенными несколько лет назад df_c = df_c[df_c['posted_ago'].str.contains('years')]
×
#Удаление лишних слов df_c['posted_ago'] = df_c['posted_ago'].map(lambda x: x.lstrip('Streamed ').rstrip(' years ago'))
×
#Изменение типа данных колонки 'posted_ago' с object на int64 df_c['posted_ago'] = df_c['posted_ago'].astype(int)
×
#Поиск максимального значения в давности лет ii = df_c['posted_ago'].idxmax() df.loc[ii]
×
#Поиск максимального значения в просмотрах i = df['views'].idxmax() df.loc[i]
×
#Подсчет числа разных категорий a1 = df.query('views <= 500000').shape[0] a2 = df.query('views <= 1500000 and views >= 500001').shape[0] a3 = df.query('views <= 5000000 and views >= 1500001').shape[0] a4 = df.query('views <= 15000000 and views >= 5000001').shape[0] a5 = df.query('views <= 100000000 and views >= 15000001').shape[0]
×
#Подготовка массивов views = ['From 0M to 0.5M', 'From 0.5M to 1.5M', 'From 1.5M to 5M', 'From 5M to 15M', 'From 15M to 100M'] data = [a1, a2, a3, a4, a5] expl = (0.1, 0.1, 0.1, 0.1, 0.1)
×
В итоге информация про видео с максимальным числом просмотров:
#Вывод искомой информации в табличном виде df.query('views == 149000000')
×
Итого информация про самое позднее видео:
#Вывод ответа в табличном виде df.query('posted_ago == "16 years ago"')
×
Итоговая диаграмма по просмотрам:
#Создание диаграммы plt.pie(data, labels=views, explode=expl) plt.title('Number of views, M') #Показ диаграммы plt.show()
×
Прикрепленные файлы
Youtube_Physics-Videos_Data - Sheet1.csv
Чтобы оставить комментарий нужна авторизация
Печать