Skip to content

Commit 8f98f48

Browse files
authored
Merge pull request #200 from microsoft/ES-translate-alo
[ES-spanish] Translation Cap 3 and 09 - Visualizing quantities #132
2 parents 7ee06f4 + badd317 commit 8f98f48

File tree

3 files changed

+244
-0
lines changed

3 files changed

+244
-0
lines changed
Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
# Visualización de cantidades
2+
3+
|![ Sketchnote by [(@sketchthedocs)](https://sketchthedocs.dev) ](../../../sketchnotes/09-Visualizing-Quantities.png)|
4+
|:---:|
5+
| Visualización de cantidades - _Sketchnote by [@nitya](https://twitter.com/nitya)_ |
6+
7+
En esta lección explorarás cómo utilizar una de las muchas librerías de Python disponibles para aprender a crear interesantes visualizaciones relacionadas al concepto de cantidad. Utilizando un conjunto de datos limpios sobre las aves de Minnesota, podrás aprender muchos datos interesantes sobre la vida silvestre local.
8+
## [Cuestionario previo](https://red-water-0103e7a0f.azurestaticapps.net/quiz/16)
9+
10+
## Observar la envergadura con Matplotlib
11+
12+
Una excelente librería para crear gráficos tanto simples como sofisticados de varios tipos es [Matplotlib](https://matplotlib.org/stable/index.html). En términos generales, el proceso de ploteamiento de datos utilizando estas librerías incluye la identificación de las partes del dataframe que desea enfocar, la realización de cualquier transformación en los datos necesarios, la asignación de los valores de los ejes x e y, la decisión de qué tipo de gráfico mostrar, y luego mostrar el gráfico. Matplotlib ofrece una gran variedad de visualizaciones, pero para esta lección, vamos a concentrarnos en las más apropiadas para visualizar cantidad: gráficos de líneas, gráficos de dispersión y gráficos de barras.
13+
14+
> ✅ Usa el gráfico que mejor se adapte a la estructura de tus datos y a la historia que quieres contar.
15+
> - Para analizar tendencias a lo largo del tiempo: línea
16+
> - Para comparar valores: barra, columna, pastel, diagrama de dispersión
17+
> - Para mostrar cómo se relacionan las partes con un todo: pastel
18+
> - Para mostrar la distribución de los datos: gráfico de dispersión, barra
19+
> - Para mostrar tendencias: línea, columna
20+
> - Para mostrar relaciones entre valores: línea, gráfico de dispersión, burbuja
21+
22+
Si tienes un conjunto de datos y necesitas descubrir qué cantidad de un elemento determinado está incluido, una de las primeras tareas que tienes que hacer será inspeccionar sus valores.
23+
24+
✅ Hay muy buenas "hojas de trucos" disponibles para Matplotlib [aquí](https://github.com/matplotlib/cheatsheets/blob/master/cheatsheets-1.png) y [aquí](https://github.com/matplotlib/cheatsheets/blob/master/cheatsheets-2.png).
25+
26+
## Construir un gráfico de líneas sobre los valores de la envergadura de las aves
27+
28+
Abre el archivo `notebook.ipynb` en la raíz de la carpeta de esta lección y añada una celda.
29+
30+
> Nota: los datos están almacenados en la raíz de este repositorio en la carpeta `/data`.
31+
32+
```python
33+
import pandas as pd
34+
import matplotlib.pyplot as plt
35+
birds = pd.read_csv('../../data/birds.csv')
36+
birds.head()
37+
```
38+
Estos datos son una mezcla de texto y números:
39+
40+
41+
| | Name | ScientificName | Category | Order | Family | Genus | ConservationStatus | MinLength | MaxLength | MinBodyMass | MaxBodyMass | MinWingspan | MaxWingspan |
42+
| ---: | :--------------------------- | :--------------------- | :-------------------- | :----------- | :------- | :---------- | :----------------- | --------: | --------: | ----------: | ----------: | ----------: | ----------: |
43+
| 0 | Black-bellied whistling-duck | Dendrocygna autumnalis | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 47 | 56 | 652 | 1020 | 76 | 94 |
44+
| 1 | Fulvous whistling-duck | Dendrocygna bicolor | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Dendrocygna | LC | 45 | 53 | 712 | 1050 | 85 | 93 |
45+
| 2 | Snow goose | Anser caerulescens | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 79 | 2050 | 4050 | 135 | 165 |
46+
| 3 | Ross's goose | Anser rossii | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 57.3 | 64 | 1066 | 1567 | 113 | 116 |
47+
| 4 | Greater white-fronted goose | Anser albifrons | Ducks/Geese/Waterfowl | Anseriformes | Anatidae | Anser | LC | 64 | 81 | 1930 | 3310 | 130 | 165 |
48+
49+
Empecemos por graficar algunos de los datos numéricos utilizando un gráfico de líneas básico. Supongamos que queremos ver la envergadura máxima de estas interesantes aves.
50+
51+
```python
52+
wingspan = birds['MaxWingspan']
53+
wingspan.plot()
54+
```
55+
![Envergadura máxima](../images/max-wingspan.png)
56+
57+
¿Qué nota inmediatamente? Parece que hay al menos un valor atípico: ¡esa es una gran envergadura! Una envergadura de 2.300 centímetros equivale a 23 metros: ¿hay pterodáctilos vagando por Minnesota? Vamos a investigar.
58+
59+
Aunque podrías hacer una ordenación rápida en Excel para encontrar esos valores atípicos, que probablemente sean errores tipográficos, continúa el proceso de visualización trabajando desde el gráfico.
60+
61+
Añade etiquetas al eje x para mostrar qué tipo de aves hay en cuestión:
62+
63+
```
64+
plt.title('Max Wingspan in Centimeters')
65+
plt.ylabel('Wingspan (CM)')
66+
plt.xlabel('Birds')
67+
plt.xticks(rotation=45)
68+
x = birds['Name']
69+
y = birds['MaxWingspan']
70+
71+
plt.plot(x, y)
72+
73+
plt.show()
74+
```
75+
![envergadura con etiquetas](../images/max-wingspan-labels.png)
76+
77+
Incluso con la rotación de las etiquetas ajustada a 45 grados, hay demasiado para leer. Vamos a probar una estrategia diferente: etiquetar sólo los valores atípicos y poner las etiquetas dentro del gráfico. Puedes utilizar un gráfico de dispersión para tener más espacio para el etiquetado:
78+
79+
```python
80+
plt.title('Max Wingspan in Centimeters')
81+
plt.ylabel('Wingspan (CM)')
82+
plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
83+
84+
for i in range(len(birds)):
85+
x = birds['Name'][i]
86+
y = birds['MaxWingspan'][i]
87+
plt.plot(x, y, 'bo')
88+
if birds['MaxWingspan'][i] > 500:
89+
plt.text(x, y * (1 - 0.05), birds['Name'][i], fontsize=12)
90+
91+
plt.show()
92+
```
93+
94+
¿Qué está pasando aquí? Has utilizado `tick_params` para ocultar las etiquetas inferiores y luego has creado un bucle sobre tu conjunto de datos de aves. Al trazar el gráfico con pequeños puntos azules redondos utilizando `bo`, has comprobado si hay algún pájaro con una envergadura máxima superior a 500 y has mostrado su etiqueta junto al punto si es así. Desplazaste las etiquetas un poco en el eje Y (`y * (1 - 0.05)`) y utilizaste el nombre del ave como etiqueta.
95+
96+
¿Qué descubrimos?
97+
98+
![valores atípicos](../images/labeled-wingspan.png)
99+
## Filtra tus datos
100+
101+
Tanto el águila calva como el halcón de las praderas, aunque probablemente sean aves muy grandes, parecen estar mal etiquetadas, con un "0" adicional a su envergadura máxima. Es poco probable que te encuentres con un águila calva de 25 metros de envergadura, pero si es así, ¡háznoslo saber! Vamos a crear un nuevo marco de datos sin esos dos valores atípicos:
102+
103+
```python
104+
plt.title('Max Wingspan in Centimeters')
105+
plt.ylabel('Wingspan (CM)')
106+
plt.xlabel('Birds')
107+
plt.tick_params(axis='both',which='both',labelbottom=False,bottom=False)
108+
for i in range(len(birds)):
109+
x = birds['Name'][i]
110+
y = birds['MaxWingspan'][i]
111+
if birds['Name'][i] not in ['Bald eagle', 'Prairie falcon']:
112+
plt.plot(x, y, 'bo')
113+
plt.show()
114+
```
115+
116+
Al filtrar los valores atípicos, sus datos son ahora más coherentes y comprensibles.
117+
118+
![gráfico de dispersión de la envergadura](../images/scatterplot-wingspan.png)
119+
120+
Ahora que tenemos un conjunto de datos más limpio, al menos en lo que respecta a la envergadura, vamos a descubrir más cosas sobre estas aves.
121+
122+
Aunque los gráficos de líneas y de dispersión pueden mostrar información sobre los valores de los datos y sus distribuciones, queremos pensar en los valores inherentes a este conjunto de datos. Podrías crear visualizaciones para responder a las siguientes preguntas sobre la cantidad:
123+
124+
> ¿Cuántas categorías de aves hay y cuál es su número?
125+
> ¿Cuántas aves están extinguidas, en peligro de extinción, son raras o comunes?
126+
> ¿Cuántos hay de los distintos géneros y tipos en la terminología de Linneo?
127+
## Explorar los gráficos de barras
128+
129+
Los gráficos de barras son prácticos cuando se necesita mostrar agrupaciones de datos. Exploremos las categorías de aves que existen en este conjunto de datos para ver cuál es la más común por número.
130+
131+
En el archivo del cuaderno, crea un gráfico de barras básico
132+
133+
✅ Nota, puedes filtrar las dos aves atípicas que identificamos en la sección anterior, editar la errata de su envergadura, o déjalas para estos ejercicios que no dependen de los valores de envergadura.
134+
135+
Si desea crear un gráfico de barras, puede seleccionar los datos en los que desea centrarse. Los gráficos de barras se pueden crear a partir de datos sin procesar:
136+
137+
```python
138+
birds.plot(x='Category',
139+
kind='bar',
140+
stacked=True,
141+
title='Birds of Minnesota')
142+
143+
```
144+
![datos completos en forma de gráfico de barras](../images/full-data-bar.png)
145+
146+
Este gráfico de barras, sin embargo, es ilegible porque hay demasiados datos no agrupados. Necesitas seleccionar sólo los datos que quieres graficar, así que veamos la longitud de las aves según su categoría.
147+
148+
Filtra tus datos para incluir sólo la categoría del pájaro.
149+
150+
✅ Observa que usas Pandas para manejar los datos, y luego dejas que Matplotlib haga el gráfico.
151+
152+
Como hay muchas categorías, puedes mostrar este gráfico verticalmente y ajustar su altura para tener en cuenta todos los datos:
153+
154+
```python
155+
category_count = birds.value_counts(birds['Category'].values, sort=True)
156+
plt.rcParams['figure.figsize'] = [6, 12]
157+
category_count.plot.barh()
158+
```
159+
![categoría y altura](../images/category-counts.png)
160+
161+
Este gráfico de barras muestra una buena visión del número de aves en cada categoría. En un abrir y cerrar de ojos, se ve que el mayor número de aves de esta región se encuentra en la categoría de patos/gatos/aves acuáticas. Minnesota es el "país de los 10.000 lagos", así que no es de extrañar.
162+
163+
✅ Prueba otros conteos en este conjunto de datos. ¿Le sorprende algo?
164+
165+
## Comparación de datos
166+
167+
Puedes probar diferentes comparaciones de datos agrupados creando nuevos ejes. Intenta una comparación de la longitud máxima de un pájaro, basada en su categoría:
168+
169+
```python
170+
maxlength = birds['MaxLength']
171+
plt.barh(y=birds['Category'], width=maxlength)
172+
plt.rcParams['figure.figsize'] = [6, 12]
173+
plt.show()
174+
```
175+
![comparación de datos](../images/category-length.png)
176+
177+
Aquí no hay nada sorprendente: los colibríes tienen la menor longitud máxima en comparación con los pelícanos o los gansos. ¡Es bueno cuando los datos tienen un sentido lógico!
178+
179+
Puede crear visualizaciones más interesantes de los gráficos de barras superponiendo los datos. Superpongamos la longitud mínima y máxima en una categoría de aves determinada:
180+
181+
```python
182+
minLength = birds['MinLength']
183+
maxLength = birds['MaxLength']
184+
category = birds['Category']
185+
186+
plt.barh(category, maxLength)
187+
plt.barh(category, minLength)
188+
189+
plt.show()
190+
```
191+
En este gráfico, puedes ver el rango por categoría de ave de la longitud mínima y la longitud máxima. Se puede decir con seguridad que, dados estos datos, cuanto más grande es el ave, mayor es su rango de longitud. ¡Fascinante!
192+
193+
![valores superpuestos](../images/superimposed.png)
194+
195+
## 🚀 Desafío
196+
197+
Este conjunto de datos sobre aves ofrece una gran cantidad de información sobre diferentes tipos de aves dentro de un ecosistema concreto. Busca en Internet y comprueba si puedes encontrar otros conjuntos de datos orientados a las aves. Practica la construcción de tablas y gráficos en torno a estas aves para descubrir datos que no conocías.
198+
199+
## [Cuestionario posterior a la clase](https://red-water-0103e7a0f.azurestaticapps.net/quiz/17)
200+
201+
## Repaso y Autoestudio
202+
203+
Esta primera lección has recibido alguna información sobre cómo utilizar Matplotlib para visualizar cantidades. Investiga sobre otras formas de trabajar con conjuntos de datos para su visualización. [Plotly](https://github.com/plotly/plotly.py) es otra forma que no cubriremos en estas lecciones, así que echa un vistazo a lo que puede ofrecer.
204+
## Asignación
205+
206+
[Líneas, dispersiones y barras](assignment.es.md)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Líneas, Scatters y Barras
2+
3+
## Instrucciones
4+
5+
En esta lección, has trabajado con gráficos de líneas, gráficos de dispersión y gráficos de barras para mostrar hechos interesantes sobre este conjunto de datos. En esta asignación, profundiza en el conjunto de datos para descubrir un hecho sobre un tipo de ave determinado. Por ejemplo, crea un cuaderno que visualice todos los datos interesantes que puedas descubrir sobre los gansos de nieve. Utiliza los tres gráficos mencionados anteriormente para contar una historia en tu cuaderno.
6+
7+
## Rúbrica
8+
9+
Ejemplar | Adecuado | Necesita mejorar
10+
--- | --- | -- |
11+
El cuaderno se presenta con buenas anotaciones, una narración sólida y gráficos atractivos | Al cuaderno le falta uno de estos elementos | Al cuaderno le faltan dos de estos elementos
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Visualizaciones
2+
3+
![una abeja sobre una flor de lavanda](../images/bee.jpg)
4+
> Foto por <a href="https://unsplash.com/@jenna2980?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Jenna Lee</a> en <a href="https://unsplash.com/s/photos/bees-in-a-meadow?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
5+
6+
Visualizar datos es una de las tareas más importantes de un científico de datos. Las imágenes valen más de 100 palabras, y una visualización puede ayudarte a identificar toda clase de partes interesantes de tus datos como picos, valores atípicos, agrupaciones, tendencias, y más, que pueden ayudarte a entender la historia que tus datos están tratando de contar. 
7+
8+
En estas cinco lecciones, podrás explorar datos provenientes de la naturaleza y crear interesantes y hermosas visualizaciones usando varias técnicas.
9+
### Tópicos
10+
11+
1. [Visualización de cantidades](09-visualization-quantities/README.md)
12+
2. [Visualización de la distribución](10-visualization-distributions/README.md)
13+
3. [Visualización de proporciones](11-visualization-proportions/README.md)
14+
4. [Visualización de relaciones](12-visualization-relationships/README.md)
15+
5. [Hacer visualizaciones significativas](13-meaningful-visualizations/README.md)
16+
17+
### Créditos
18+
19+
Estas lecciones de visualización fueron escritas con 🌸 por [Jen Looper](https://twitter.com/jenlooper)
20+
21+
🍯 Los datos sobre la producción de miel en EU provienen del proyecto de Jessica Li en [Kaggle](https://www.kaggle.com/jessicali9530/honey-production). Los [datos](https://usda.library.cornell.edu/concern/publications/rn301137d) se han obtenido del [Departamento de Agricultura de los Estados Unidos](https://www.nass.usda.gov/About_NASS/index.php).
22+
23+
🍄 Los datos sobre hongos también han sido obtenidos de [Kaggle](https://www.kaggle.com/hatterasdunton/mushroom-classification-updated-dataset) revisados por Hatteras Dunton. Este conjunto de datos incluye descripciones de muestras hipotéticas correspondientes a 23 especies de hongos con agallas de la familia Agaricus y Lepiota. Hongos extraídos de La Guía de Campo de la Sociedad Audubon para los Hongos de América del Norte (1981). Este conjunto de datos fue donado a UCI ML 27 en 1987.
24+
25+
🦆 Los datos de las aves de Minnesota provienen de [Kaggle](https://www.kaggle.com/hannahcollins/minnesota-birds) extraídos de [Wikipedia](https://en.wikipedia.org/wiki/List_of_birds_of_Minnesota) por Hannah Collins.
26+
27+
Todos estos conjuntos de datos tienen licencia [CC0: Creative Commons](https://creativecommons.org/publicdomain/zero/1.0/).

0 commit comments

Comments
 (0)