Skip to content

Práctica con Pandas, Dataframes y Seaborn 🐼


Exploración de datos

Cargando e inspeccionando los datos

Después de visitar Michigan y aprender que se pueden cultivar uvas para vino (¡y que se puede hacer vino!) En un lugar tan frío, decides que te gustaría comenzar un viñedo allí. Has visto los viñedos y sabes que, aunque es posible cultivar uvas de vinificación allí, a veces hace demasiado frío. Uno se pregunta si, debido al cambio climático, Michigan pronto tendrá un clima más cálido y más adecuado para el cultivo de uvas.

Sabes que Europa tiene una larga historia de cultivo de uvas y te preguntas si mantuvieron registros que pudieran indicar cómo responden las uvas a los cambios de temperatura. Encuentras un estudio que ha recopilado numerosos registros de fechas de cosecha de uvas durante más de cuatro siglos y también una base de datos de anomalías de temperatura en Europa que se remontan a 1655.

Usando el conjunto de datos proporcionado, grape_harvest.csv (descarga aquí), explora cómo la fecha de cosecha de la uva europea cambia con respecto a la temperatura a lo largo de siglos de datos.

Para comenzar, importa pandas en la celda siguiente:

# Importa pandas aquí
Respuesta
### RESPUESTA ###

import pandas as pd

Luego, lee en grape_harvest.csv usando la función pd.read_csv() un marco de datos de pandas.

# Lee los datos de la cosecha aquí
# Coloca grape_harvest.csv en el mismo directorio desde el que estás ejecutando este .ipynb
# Si está en un directorio diferente, deberás especificar la ruta al archivo 

# Alternativamente, puede leer los datos de GitHub usando la siguiente URL:
# https://raw.githubusercontent.com/DanChitwood/PlantsAndPython/master/grape_harvest.csv
Respuesta
### RESPUESTA ###

# Lee los datos de la cosecha aquí
# data = pd.read_csv("grape_harvest.csv")
data = pd.read_csv("https://raw.githubusercontent.com/DanChitwood/PlantsAndPython/master/grape_harvest.csv")

Ahora, escribe un código para inspeccionar las propiedades de los datos y luego responde las siguientes preguntas:

Usa una función de pandas para mirar las primeras cinco líneas de datos:

# Pon tu código aquí
Respuesta
### RESPUESTA ###

data.head()

year region harvest anomaly
0 1700 alsace 42.9 -0.91
1 1701 alsace 35.9 -0.76
2 1702 alsace 45.0 -1.40
3 1703 alsace 49.4 -1.21
4 1704 alsace 30.4 -0.44

Usa una función de pandas para ver las últimas cinco líneas de datos:

# Pon tu código aquí
Respuesta
### RESPUESTA ###

data.tail()

year region harvest anomaly
4727 1873 vendee_poitou_charente 32.0 0.06
4728 1874 vendee_poitou_charente 2.0 -0.22
4729 1875 vendee_poitou_charente 29.0 -1.02
4730 1876 vendee_poitou_charente 32.0 -0.55
4731 1877 vendee_poitou_charente 34.0 -0.56

Usa una función de pandas para ver un resumen de las estadísticas (como el recuento, el mínimo, el máximo y la media) para columnas con datos continuos:

# Pon tu código aquí
Respuesta
### RESPUESTA ###

data.describe()

year harvest anomaly
count 4732.000000 4732.000000 4732.000000
mean 1832.835376 33.959510 -0.337811
std 91.713152 11.807714 0.675309
min 1655.000000 -13.000000 -2.470000
25% 1762.000000 25.900000 -0.750000
50% 1834.500000 34.000000 -0.280000
75% 1903.000000 42.600000 0.060000
max 2007.000000 75.000000 1.460000

Utiliza una función de pandas para obtener los nombres de las columnas.

# Pon tu código aquí
Respuesta
### RESPUESTA ###

data.columns
Index(['year', 'region', 'harvest', 'anomaly'], dtype='object')

Para una de las columnas que es una variable categórica, usa una función para enumerar todos los niveles para esa variable.

# Pon tu código aquí
Respuesta
### RESPUESTA ###

data['region'].unique()
array(['alsace', 'auvergne', 'auxerre_avalon', 'beaujolais_maconnais',
       'bordeaux', 'burgundy', 'champagne_1', 'champagne_2',
       'gaillac_south_west', 'germany', 'high_loire_valley',
       'ile_de_france', 'jura', 'languedoc', 'low_loire_valley',
       'luxembourg', 'maritime_alps', 'northern_italy',
       'northern_lorraine', 'northern_rhone_valley', 'savoie',
       'southern_lorraine', 'southern_rhone_valley', 'spain',
       'switzerland_leman_lake', 'various_south_east',
       'vendee_poitou_charente'], dtype=object)

Para la variable categórica, también usa una función para determinar cuántas filas hay que representan cada nivel.

# Pon tu código aquí
Respuesta
### RESPUESTA ##

data['region'].value_counts()
switzerland_leman_lake    353
burgundy                  350
southern_rhone_valley     333
jura                      306
ile_de_france             302
bordeaux                  274
alsace                    262
languedoc                 233
spain                     231
low_loire_valley          203
champagne_2               183
germany                   165
northern_italy            156
maritime_alps             136
auxerre_avalon            128
northern_lorraine         127
northern_rhone_valley     126
savoie                    123
southern_lorraine         109
luxembourg                107
high_loire_valley          92
various_south_east         82
champagne_1                81
auvergne                   80
vendee_poitou_charente     75
beaujolais_maconnais       73
gaillac_south_west         42
Name: region, dtype: int64

¿Cuántas filas hay en este conjunto de datos?

# Pon tu código aquí
Respuesta
### RESPUESTA ###

print(len(data))

4732

¡Felicitaciones por leer los datos y explorar su estructura! En la siguiente actividad, exploraremos la relación entre las fechas de cosecha de la uva y el clima.