Ironhack-Data-Madrid-Octubre-2021 / w2-pandas-project

0 stars 2 forks source link

[Alfonso Romero] SharkAttack #28

Closed aromegar closed 2 years ago

aromegar commented 2 years ago

https://github.com/aromegar/SharkAttack.git

Fominayasg commented 2 years ago

Muy buenas Alfonso!!! :smile:

De cara al proyecto voy a ir repasando las principales secciones para poder aconsejarte como mejorarlo de cara a futuro.

README file

Como ya sabes el readme es vuestra carta de presentación y por tanto es importante prestarle atenció.

Tu readme está super bien, claramente estructurado y explicado pero bien resumido. Genial que pongas en contexto el proyecto en la introducción.

Solo un par de tips:

  1. Tienes un par de erratas a lo largo del archivo (Por ejemplo los 3 últimos títulos de sección no empiezan con mayúscula) asi que si tienes un ratillo echale un ojo para dejarlo niquelado.
  2. En la sección "What's in this repo", no hace falta que especifiques el gitignore, ya que es un archivo tipo que en principio todo el mundo que se meta al codigo debería saber lo que es , pero si quieres especificarlo, también ok.

En cuanto a las librerías si quieres que quede un poco más bonito puedes insertar los links así:

In this project we have used the following libraries:
 - [pandas](https://pandas.pydata.org/docs/)

 - [numpy](https://numpy.org/doc/stable/)

 - [plotly](https://plotly.com/python/)

 - [seaborn](https://seaborn.pydata.org/)

 - our own "[cleaning_functions.py](https://github.com/aromegar/SharkAttack/blob/main/src/cleaning_functions.py)"

Y te quedaría asi:

In this project we have used the following libraries:

Organización del repo

Super bien organizado, no hay nada que no esté en el repo ni nada que falte. Una cosa que yo si que suelo hacer es numerar los jupyter notebooks, de esta manera cualquiera que se meta en tu repo sabe perfectamente que archivos ir abriendo y en que order para poder seguir el proceso completo del proyecto.

Código: Cleaning

Lo primero: genial que hayas metido varias funciones de limpieza en el .py, super bien documentadas y muy limpias.

En cuanto al juyter notebook, está muy claro también y bien comentado, es muy fácil seguirlo así que top!! Hay algunas cosillas que cambiaría, pero poniendome ya puntillosa.Te dejo algunos consejillos por aquí:

Cuando haces este bucle:

for i in range(825):
    k=0
    for j in range(i+1):
        k+=areas.Pareto[j]
    areas["Accumu"][i]=k

No se sabe de donde sale ese 825 si no subes un poco. Puedes incluirlo asi en el bucle:

for i in range(len(list(df.Area.unique())))

De esta manera además si por casualidad en un futura se actualiza el dataset, no tendrás que cambiar nada.

Muy currada la creación de una columna hemisferio para saber si es erano o invierno. De cara a futuro puedes intentar meterlo todo en una función que coja el valor de "area" y el "mes" y te devuelva la estación, luego haces un apply para crear la nueva columna y te queda el jupyter más limpito.

De cara a futuro otra opción, ahora que conoces más herramientas, es utilizar una api que te de las coordenadas de latitud y longitud de una ciudad, y ya sabes que si la latitud es positiva seria hemisferio norte y si es negativa estaría en el sur. (Y ya de paso te sirve para hacer mapitas megaguays)

Por último cuando exportes los csv si especificas el atributo "index" como "False", te evitarás que se te cree 'Unnamed: 0' automaticamente).

Código: Visualizaciones

En la primera hipótesis no entiendo el significado de "valor verano", ¿qué significa que verano pueda tomar valores 1,2,3,4,5 o 6? ¿si verano es 6 es que es mas verano? Creo que sería más explicativo hacer una visualización en la que compares casos verano con casos invierno por ejemplo... Un barplot o algo así.

En cuanto a la segunda hipótesis la visualización está super bien elegida, aunque quizá sería más explicativo si en las etiquetas del eje y pones el nombre completo de los océanos(por ejemplo "car" deduzco que es el ártico, pero no lo puedo saber de ninguna manera).

Y ya como detalle, cuidado con llamar mares a los océanos y viceversa que en un entorno específico puede dar mala impresión.

La tercera hipótesis está super bien visualizada, ahora... en cuanto a esta frase "efectivamente, el tiburón blanco es con diferencia el tiburón más mortífero y mortal" a pesar de que me ha encantado :joy_cat::joy_cat: y voy a ser un poco aguafiestas, de cara a los datos para poder decirla tendrías que analizar si los ataques son mortales o no. Para ser rigurosos la conclusión debería ser que los tiburones blancos son los que más atacan.

En general el proyecto está super bien Alfonso!! y más para ser el primero ¡Enhorabuena!!

:rocket: :rocket: :rocket: