Closed jalex141 closed 3 years ago
Hola Alejandro 🙋🏻♀️ vamos con las correcciones del primer proyecto del bootcamp
¿Qué pasó con el readme Alejandrooooo? 😔
El readme es parte esencial del proyecto, principalmente por que es lo primero que se ve de nuestro proyecto y donde debemos de ser capaces de sintetizar de una forma sencilla todo nuestro trabajo.
Te dejo por aquí unos tips por si te aportan valor para los próximos readmes
En general muy buen trabajo con la organización de tu repo, te dejo por aquí algunos comentarios sobre algunos detalles que vi, espero que te ayuden 😉
Tienes un jupyter que esta vacío que se llama Untitled
... Para el futuro, evitar tener ficheros vacíos o que no aportan nada a nuestro repo 😉
Suuper bien que no se te haya pasado ningún archivo temporal ni ningún fichero que no deberieramos mostrar en el repo. Genial todos esos ficheros al .gitignore
Para el futuro, se que puede resultar un poco rollo pero... la documentación de las funciones plis 🙏
Te dejo por aquí algo de documentación por si te aporta valor para el futuro
Como detalle, nos podemos crear un par de carpetas donde podemos almacenar determinados tipos de archivos:
data
donde meteremos todos nuestros .csv
o los archivos con los que hemos trabajadoNotebooks
dónde guardamos todos los jupyters que hemos ido creando. Así tendremos nuestro repo perfectamente ordenaditoooo
Por ponerme tiquismiquis, en el repo tienes cosas en inglés, otras en español... intenta unificarlo para próximos proyectos 🤓
Por último, tienes dos jupyters con la misma información, el de cleaning
y el de principal
.
JUPYTER DE LIMPIEZA
Cuando haces el drop de los duplicados lo haces únicamente chequeando los duplicados para la columna de Case_Number
sh.drop_duplicates(subset=['Case_Number'],inplace=True)
¿Por qué lo haces así?
Quiero decir, ¿no puede haber dos ataques de tiburones en la misma fecha pero en distintos países por ejemplo? o ¿dos ataques en la misma fecha pero que no sea fatal y otro no?
A la hora de eliminar duplicados o eliminar filas tenemos que pensarlo mucho antes de hacerlo ya que podemos estar perdiendo información muy útil.
Cuando rellenas todos los NaN con Unknown
¿Tiene sentido?
Por ejemplo, en la columna de Age
no tendría más sentido reemplazar por la media/moda de las edades que tenemos en nuestro dataset?
Vamos con esta función num_month
Lo primero de todo, enhorabuena por esta cadena de funciones que has creado para poder extraer información de una columna. Buen trabajo 🔝. Peeeero no podía ser todo bueno...
En la función num_month
tienes un montón de elif
, cuando esto nos pasa es que hay algo que debemos atomizar en nuestro código para evitar tener esas estructuras altamente repetitivas.
En este caso puedes usar la librería datetime
que nos va a permitir pasar de nombres a números en los meses
# un ejemplo aquí:
month_name = "Jan"
datetime_object = datetime.datetime.strptime(month_name, "%b")
month_number = datetime_object.month
print(month_number)
# nos devuelve 1
Aquí algo de documentación sobre este método
JUPYTER DE VISUALIZACIÓN Esta parte del proyecto esta suuper bien Alejandro, peeero un par de detaillitos:
countplots
con un hue
. Lo que podrías haber hecho para no repetir todo el rato el mismo código es crearte una funcioncita para hacer este tipo de plots. Por ejemplodef plot(df, col, hue):
return sns.countplot(x=df[col], hue=df[hue])
Darle una vuelta al readme plisss 🙏
Atomizar algunas partes del código para evitar estructuras que se repitan mucho
Interpretación de los resultados, no contarme solo que se ve en las gráficas. Cuéntame el porqué puede estar pasando eso.
En general muy buen trabajo en este primer proyecto Alejandro 💪! Has sobrevivido al primer proyecto y lo has hecho genial!! En este proyecto hemos interiorizado cómo trabajar con pandas y cual es el principal proceso de limpieza de un dataset.
https://github.com/jalex141/Shark-tank.git