Поздравляем

Разведочный анализ данных на Python

George Boorman

Curriculum Manager, DataCamp

Проверка и валидация данных

гистограмма оценок книг

books["year"] = books["year"].astype(int)
books.dtypes
name       object
author     object
rating    float64
year        int64
genre      object
dtype: object
Разведочный анализ данных на Python

Агрегация

books.groupby("genre").agg(
    mean_rating=("rating", "mean"),
    std_rating=("rating", "std"),
    median_year=("year", "median")
)
|  genre      | mean_rating | std_rating | median_year |
|-------------|-------------|------------|-------------|
|   Childrens |    4.780000 |   0.122370 |      2015.0 |
|     Fiction |    4.570229 |   0.281123 |      2013.0 |
| Non Fiction |    4.598324 |   0.179411 |      2013.0 |
Разведочный анализ данных на Python

Работа с пропущенными данными

print(salaries.isna().sum())
Working_Year            12
Designation             27
Experience              33
Employment_Status       31
Employee_Location       28
Company_Size            40
Remote_Working_Ratio    24
Salary_USD              60
dtype: int64
Разведочный анализ данных на Python

Работа с пропущенными данными

  • Удаление пропущенных значений

 

  • Заполнение средним, медианой, модой

 

  • Заполнение по подгруппам

 

salaries_dict = salaries.groupby("Experience")["Salary_USD"].median().to_dict()
salaries["Salary_USD"] = salaries["Salary_USD"].fillna(salaries["Experience"].map(salaries_dict))
Разведочный анализ данных на Python

Анализ категориальных данных

salaries["Job_Category"] = np.select(conditions, 
                                     job_categories, 
                                     default="Other")

Столбчатая диаграмма с количеством вакансий по категориям

Разведочный анализ данных на Python

Применение лямбда-функций

Применение лямбда-функции

salaries["std_dev"] = salaries.groupby("Experience")["Salary_USD"].transform(lambda x: x.std())
Разведочный анализ данных на Python

Обработка выбросов

sns.boxplot(data=salaries,
            y="Salary_USD")
plt.show()

Ящик с усами для зарплат специалистов по данным: нижняя граница ящика — 25-й процентиль, средняя линия — 50-й процентиль, верхняя граница — 75-й процентиль

Разведочный анализ данных на Python

Закономерности во времени

sns.lineplot(data=divorce, x="marriage_month", y="marriage_duration")
plt.show()

Линейный график зависимости продолжительности брака от месяца заключения

Разведочный анализ данных на Python

Корреляция

sns.heatmap(divorce.corr(numeric_only=True), annot=True)
plt.show()

Тепловая карта корреляций для данных о разводах

Разведочный анализ данных на Python

Распределения

sns.kdeplot(data=divorce, x="marriage_duration", hue="education_man", cut=0)
plt.show()

KDE-график продолжительности брака с разбивкой по уровню образования мужчины и параметром cut=0

Разведочный анализ данных на Python

Перекрёстная таблица

pd.crosstab(planes["Source"], planes["Destination"],
            values=planes["Price"], aggfunc="median")
Destination  Banglore   Cochin   Delhi  Hyderabad  Kolkata  New Delhi
Source                                                               
Banglore          NaN      NaN  4823.0        NaN      NaN    10976.5
Chennai           NaN      NaN     NaN        NaN   3850.0        NaN
Delhi             NaN  10262.0     NaN        NaN      NaN        NaN
Kolkata        9345.0      NaN     NaN        NaN      NaN        NaN
Mumbai            NaN      NaN     NaN     3342.0      NaN        NaN
Разведочный анализ данных на Python

pd.cut()

Задание интервалов (bins)

planes["Price_Category"] = pd.cut(planes["Price"],
                                  labels=labels,
                                  bins=bins)
Разведочный анализ данных на Python

Подглядывание в данные

Тепловая карта с коэффициентами корреляции для каждого количества пересадок

Разведочный анализ данных на Python

Формулирование гипотез

sns.barplot(data=planes, x="Airline", y="Duration")
plt.show()

Столбчатая диаграмма зависимости продолжительности полёта от авиакомпании

Разведочный анализ данных на Python

Следующие шаги

Разведочный анализ данных на Python

Поздравляем!

Разведочный анализ данных на Python

Preparing Video For Download...