Generare nuove feature

Analisi esplorativa dei dati in Python

George Boorman

Curriculum Manager, DataCamp

Correlazione

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

Heatmap che mostra coefficiente di correlazione di Pearson 0.54 tra Price e Duration

Analisi esplorativa dei dati in Python

Visualizzare i tipi di dato

print(planes.dtypes)
Airline                    object
Date_of_Journey    datetime64[ns]
Source                     object
Destination                object
Route                      object
Dep_Time           datetime64[ns]
Arrival_Time       datetime64[ns]
Duration                  float64
Total_Stops                object
Additional_Info            object
Price                     float64
dtype: object
Analisi esplorativa dei dati in Python

Scali totali

print(planes["Total_Stops"].value_counts())
1 stop      4107
non-stop    2584
2 stops     1127
3 stops       29
4 stops        1
Name: Total_Stops, dtype: int64
Analisi esplorativa dei dati in Python

Pulire scali totali

planes["Total_Stops"] = planes["Total_Stops"].str.replace(" stops", "")

planes["Total_Stops"] = planes["Total_Stops"].str.replace(" stop", "")
planes["Total_Stops"] = planes["Total_Stops"].str.replace("non-stop", "0")
planes["Total_Stops"] = planes["Total_Stops"].astype(int)
Analisi esplorativa dei dati in Python

Correlazione

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

Heatmap che mostra correlazione di Pearson 0.62 tra Price e Total Stops e 0.74 tra Duration e Total Stops

Analisi esplorativa dei dati in Python

Date

print(planes.dtypes)
Airline                    object
Date_of_Journey    datetime64[ns]
Source                     object
Destination                object
Route                      object
Dep_Time           datetime64[ns]
Arrival_Time       datetime64[ns]
Duration                  float64
Total_Stops                 int64
Additional_Info            object
Price                     float64
dtype: object
Analisi esplorativa dei dati in Python

Estrarre mese e giorno della settimana

planes["month"] = planes["Date_of_Journey"].dt.month

planes["weekday"] = planes["Date_of_Journey"].dt.weekday
print(planes[["month", "weekday", "Date_of_Journey"]].head())
   month  weekday   Date_of_Journey
0      9        4        2019-09-06
1     12        3        2019-12-05
2      1        3        2019-01-03
3      6        0        2019-06-24
4     12        1        2019-12-03
Analisi esplorativa dei dati in Python

Orari di partenza e arrivo

planes["Dep_Hour"] = planes["Dep_Time"].dt.hour
planes["Arrival_Hour"] = planes["Arrival_Time"].dt.hour
Analisi esplorativa dei dati in Python

Correlazione

Heatmap che non mostra relazione tra attributi datetime e prezzo

Analisi esplorativa dei dati in Python

Creare categorie

print(planes["Price"].describe())
count     7848.000000
mean      9035.413609
std       4429.822081
min       1759.000000
25%       5228.000000
50%       8355.000000
75%      12373.000000
max      54826.000000
Name: Price, dtype: float64
Intervallo Tipo di biglietto
<= 5228 Economy
> 5228 <= 8355 Premium Economy
> 8335 <= 12373 Business
> 12373 First
Analisi esplorativa dei dati in Python

Statistiche descrittive

twenty_fifth = planes["Price"].quantile(0.25)

median = planes["Price"].median()
seventy_fifth = planes["Price"].quantile(0.75)
maximum = planes["Price"].max()
Analisi esplorativa dei dati in Python

Etichette e bin

labels = ["Economy", "Premium Economy", "Business Class", "First Class"]

bins = [0, twenty_fifth, median, seventy_fifth, maximum]
Analisi esplorativa dei dati in Python

pd.cut()

Chiama pd-dot-cut

planes["Price_Category"] = pd.cut(


Analisi esplorativa dei dati in Python

pd.cut()

Passa i dati

planes["Price_Category"] = pd.cut(planes["Price"],


Analisi esplorativa dei dati in Python

pd.cut()

Imposta le etichette

planes["Price_Category"] = pd.cut(planes["Price"],
                                  labels=labels,

Analisi esplorativa dei dati in Python

pd.cut()

Fornisci i bin

planes["Price_Category"] = pd.cut(planes["Price"],
                                  labels=labels,
                                  bins=bins)
Analisi esplorativa dei dati in Python

Categorie di prezzo

print(planes[["Price","Price_Category"]].head())
     Price   Price_Category
0  13882.0      First Class
1   6218.0  Premium Economy
2  13302.0      First Class
3   3873.0          Economy
4  11087.0   Business Class
Analisi esplorativa dei dati in Python

Categoria prezzo per compagnia

sns.countplot(data=planes, x="Airline", hue="Price_Category")
plt.show()
Analisi esplorativa dei dati in Python

Categoria prezzo per compagnia

Countplot con numero di voli per compagnia per categoria di prezzo; Jet Airways ha più biglietti First

Analisi esplorativa dei dati in Python

Passiamo alla pratica !

Analisi esplorativa dei dati in Python

Preparing Video For Download...