Closed Lydia-Arocena closed 2 years ago
Hola hola Lydia 🙋🏻♀️, vamos con la primera corrección del proyecto de pandas 🤓
En primer lugar, enorme trabajo en el readme Lydia! Has incluido los puntos más importantes que debíamos tener. Aún así te dejo por aquí algunas ideas por si te aportan valor:
Como no podíamos subir el csv
estaría bien si incluyeramos el link de la página donde se puede descargar los datos.
¿Como podemos hacer esto en markdown?
[dataset](https://www.kaggle.com/teajay/global-shark-attacks)
# Si haces esto verás algo como esto 👇🏽 en el readme
Pones las librerias que usaste, lo cual esta perfecto. Si ya incluyes los link a la documentación oficial (como te puse justo arriba) quedaría perfecto.
En cuanto al apartado donde explicas la estructura del repo, esto esta genial. Solo como detalle, intentaría ser un poco más esquemática en este apartado, que de un solo vistazo se vea toda la estructura de tu repo en el readme.
En la parte de las librerías, has puesto la carpeta src
. Esta no hace falta ya que en sí no es una librería.
En cuanto a la organización del repositorio tienes una carpeta de Data
y otra de src
lo cual esta perfecto. Vamos con algunos detalles:
Se te ha pasado un archivo temporal fuera del .gitignore
, el __pycache__
que esta dentro de la carpeta src
. Recuerda, todos los archivos temporales, independiente de donde estén, deben estar en el .gitignore
.
Tienes dos jupyters, uno de limpieza y otro de visualización, los puedes meter en una carpeta que se llame por ejemplo notebooks
. Si encima, los numeras para saber cual es el orden de trabajo quedaría TOP TOP.
También tienes una imagen, en este caso solo tienes una y no pasa mucho. Pero en el futuro puede que tengas más. En ese caso te puedes crear otra carpeta que se llame images
donde las vayas almancenando.
Tienes un archivo en el src
el de las funciones, que esta vacío. Tenemos que evitar tener archivos vacios, por lo tanto, lo ideal sería eliminarlo.
Suuuper bien que tengas los docstrings en las funciones 👏🏽
Por el resto todo perfectito Lydia 😉
Solo como detalle, tienes una primera celda con todos los imports, perfecto! Sin embargo, entre los imports tienes la "carga" del csv con el read_csv
, lo ideal sería que este código estuviera en una celda aparte.
Jupyter super bien documentado y muy buen estructurado, enhorabuena.
En este punto 3. Cambio el nombre de las columnas porque hay algunas que contienen espacios.
Lo vas haciendo columna a columna, y si te fijas estamos repitiendo la misma de código varías veces. Esto ya es un indicativo de que lo seguramente lo podemos hacer una forma más sencilla. Podemos hacer una list comprehension. Te dejo por aquí la línea de código:
df.columns = df.columns.str.lower() # con esto lo que hacemos es convertir todas las columnas
df.columns = [column.rstrip().replace(' ', '_') for column in df.columns] # vamos iterando por los nombres de las columnas, e iremos reemplazando los espacios por barras bajas (replace(' ', '_')). Y luego lo que hacemos es eliminar los espacios de la columna (rstrip()).
Cuando limpias algunas columnas como por ejemplo la de `Fatal (Y/N), como lo haces esta perfecto, simplemente por añadirte valor a la corrección, podemos hacerlo también con una función.
¿Cómo lo podríamos hacer?
def clean_ column(x):
if x == 'y':
return "Y"
elif x == ' N':
return "N"
else:
return "Unknown"
df["Fatal (Y/N)"] = .apply(clean_column)
Sobre esta función funcion_valores_unicos
, la tienes genial usando un diccionario y regex, 🔝. Solo como detalle, has incluido todas las especies que teníamos lo cual esta super bien. Peeero, ya sabes que siempre tengo algún comentario, parte de nuestro trabajado como analistas de datos es ser eficientes.
Lo ideal en este caso hubiera sido que investigaras cuales eran las especies que más atacabam y de ahí sacaras las especies que al final vas a usar para sacar con el regex.
🟡 Este comentario lo podríamos aplicar al algunas de las columnas que tienes creadas.
Bueno Lydia, hiciste muy buen trabajo, solo te comenté algunos detalles sobre tus funciones.
En esta hipótesis HIPÓTESIS 2: En México hay más ataques de tiburones blancos que en USA
Me gusta mucho tu razonamiento de seleccionar solo aquellos paises donde más ataques hubo. Pero.. no veo en ninguna parte de donde te sacas esos datos, supongo que de un value_counts
. Si es así deja el código, que cada una de tus decisiones se vean reflejadas 😉
En general las gráficas están super bien, bien explicadas cada una de ellas 🚀.
gitignore
los archivos temporalesBueno Lydia, enorme trabajo el que has hecho en este proyecto, sigue haciendolo así porque lo estas petando muy fuerte!!!!
https://github.com/Lydia-Arocena/PROYECTO-1-IRONHACK