Generar nuevos features

Análisis exploratorio de datos en Python

George Boorman

Curriculum Manager, DataCamp

Correlación

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

Mapa de calor que muestra un coeficiente de correlación de Pearson de 0,54 entre el precio y la duración

Análisis exploratorio de datos en Python

Visualización de tipos de datos

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
Análisis exploratorio de datos en Python

Paradas totales

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
Análisis exploratorio de datos en Python

Borrar las paradas totales

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)
Análisis exploratorio de datos en Python

Correlación

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

Mapa de calor que muestra un coeficiente de correlación de Pearson de 0,62 entre el precio y el total de paradas, y una correlación de 0,74 entre la duración y el total de paradas

Análisis exploratorio de datos en Python

Fechas

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
Análisis exploratorio de datos en Python

Obtener el mes y el día de la semana

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
Análisis exploratorio de datos en Python

Horarios de salida y llegada

planes["Dep_Hour"] = planes["Dep_Time"].dt.hour
planes["Arrival_Hour"] = planes["Arrival_Time"].dt.hour
Análisis exploratorio de datos en Python

Correlación

Mapa de calor que muestra que no existe relación entre los atributos de fecha y hora y el precio

Análisis exploratorio de datos en Python

Crear categorías

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
Rango Tipo de ticket
<= 5228 Economy
> 5228 <= 8355 Premium Economy
> 8335 <= 12373 Business Class
> 12373 First Class
Análisis exploratorio de datos en Python

Estadística descriptiva

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

median = planes["Price"].median()
seventy_fifth = planes["Price"].quantile(0.75)
maximum = planes["Price"].max()
Análisis exploratorio de datos en Python

Etiquetas y bins

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

bins = [0, twenty_fifth, median, seventy_fifth, maximum]
Análisis exploratorio de datos en Python

pd.cut()

Llama a pd-punto-cut

planes["Price_Category"] = pd.cut(


Análisis exploratorio de datos en Python

pd.cut()

Pasa los datos

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


Análisis exploratorio de datos en Python

pd.cut()

Establece las etiquetas

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

Análisis exploratorio de datos en Python

pd.cut()

Proporciona los bins

planes["Price_Category"] = pd.cut(planes["Price"],
                                  labels=labels,
                                  bins=bins)
Análisis exploratorio de datos en Python

Categorías de precios

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
Análisis exploratorio de datos en Python

Categoría de precios por aerolínea

sns.countplot(data=planes, x="Airline", hue="Price_Category")
plt.show()
Análisis exploratorio de datos en Python

Categoría de precios por aerolínea

Gráfico de recuento que muestra el número de vuelos por aerolínea en diferentes categorías de precios, donde Jet Airways tiene el mayor número de billetes en primera clase

Análisis exploratorio de datos en Python

¡Vamos a practicar!

Análisis exploratorio de datos en Python

Preparing Video For Download...