Gratulacje

Eksploracyjna analiza danych w Pythonie

George Boorman

Curriculum Manager, DataCamp

Inspekcja i walidacja

histogram ocen książek

books["year"] = books["year"].astype(int)
books.dtypes
name       object
author     object
rating    float64
year        int64
genre      object
dtype: object
Eksploracyjna analiza danych w Pythonie

Agregacja

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 |
Eksploracyjna analiza danych w Pythonie

Obsługa brakujących danych

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
Eksploracyjna analiza danych w Pythonie

Obsługa brakujących danych

  • Usunięcie brakujących wartości

 

  • Imputacja średnią, medianą, modą

 

  • Imputacja według podgrupy

 

salaries_dict = salaries.groupby("Experience")["Salary_USD"].median().to_dict()
salaries["Salary_USD"] = salaries["Salary_USD"].fillna(salaries["Experience"].map(salaries_dict))
Eksploracyjna analiza danych w Pythonie

Analiza danych kategorycznych

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

Wykres słupkowy przedstawiający liczbę ofert pracy według kategorii

Eksploracyjna analiza danych w Pythonie

Zastosowanie funkcji lambda

Zastosowanie funkcji lambda

salaries["std_dev"] = salaries.groupby("Experience")["Salary_USD"].transform(lambda x: x.std())
Eksploracyjna analiza danych w Pythonie

Obsługa wartości odstających

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

Wykres pudełkowy wynagrodzeń specjalistów ds. danych: dolna granica pudełka to 25. percentyl, linia środkowa to mediana, górna granica to 75. percentyl

Eksploracyjna analiza danych w Pythonie

Wzorce w czasie

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

Wykres liniowy przedstawiający zależność między miesiącem zawarcia małżeństwa a jego długością

Eksploracyjna analiza danych w Pythonie

Korelacja

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

Mapa ciepła korelacji dotyczących rozwodów

Eksploracyjna analiza danych w Pythonie

Rozkłady

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

Wykres KDE czasu trwania małżeństwa z odcieniem według education_man i cut równym zero

Eksploracyjna analiza danych w Pythonie

Tabelaryzacja krzyżowa

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
Eksploracyjna analiza danych w Pythonie

pd.cut()

Określenie przedziałów

planes["Price_Category"] = pd.cut(planes["Price"],
                                  labels=labels,
                                  bins=bins)
Eksploracyjna analiza danych w Pythonie

Przeszukiwanie danych

Mapa ciepła ze współczynnikami korelacji dla różnej liczby przesiadek

Eksploracyjna analiza danych w Pythonie

Formułowanie hipotez

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

Wykres słupkowy czasu trwania lotu według linii lotniczej

Eksploracyjna analiza danych w Pythonie

Następne kroki

Eksploracyjna analiza danych w Pythonie

Gratulacje!

Eksploracyjna analiza danych w Pythonie

Preparing Video For Download...