Вітаємо

Exploratory Data Analysis у 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
Exploratory Data Analysis у 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 |
Exploratory Data Analysis у 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
Exploratory Data Analysis у Python

Обробка пропусків

  • Видаліть пропуски

 

  • Імпутуйте середнє, медіану, моду

 

  • Імпутуйте за підгрупами

 

salaries_dict = salaries.groupby("Experience")["Salary_USD"].median().to_dict()
salaries["Salary_USD"] = salaries["Salary_USD"].fillna(salaries["Experience"].map(salaries_dict))
Exploratory Data Analysis у Python

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

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

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

Exploratory Data Analysis у Python

Застосування lambda-функцій

Застосуйте функцію lambda

salaries["std_dev"] = salaries.groupby("Experience")["Salary_USD"].transform(lambda x: x.std())
Exploratory Data Analysis у Python

Опрацювання викидів

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

Боксплот зарплат фахівців з даних: 25-й перцентиль унизу коробки, 50-й як середня лінія, 75-й угорі

Exploratory Data Analysis у Python

Патерни в часі

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

Лінійний графік залежності між місяцем шлюбу та його тривалістю

Exploratory Data Analysis у Python

Кореляція

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

Теплова карта кореляцій щодо розлучень

Exploratory Data Analysis у Python

Розподіли

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

KDE тривалості шлюбу з hue = education_man та cut = 0

Exploratory Data Analysis у 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
Exploratory Data Analysis у Python

pd.cut()

Задайте бінси

planes["Price_Category"] = pd.cut(planes["Price"],
                                  labels=labels,
                                  bins=bins)
Exploratory Data Analysis у Python

Data snooping

Теплова карта з коефіцієнтами кореляції для кожної кількості зупинок

Exploratory Data Analysis у Python

Формування гіпотез

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

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

Exploratory Data Analysis у Python

Наступні кроки

Exploratory Data Analysis у Python

Вітаємо!

Exploratory Data Analysis у Python

Preparing Video For Download...