Closed lukesmith194 closed 3 years ago
Hola Luke 🙋🏻♀️ vamos con las correcciones del primer proyecto del bootcamp
En el readme, tienes las hipótesis y un pequeño esquema de los pasos que has ido dando a lo largo del proyecto.
¿Qué cosas me faltaron en este readme?
Suuper esa carpeta de data
donde almacenas todos los .csv
resultado del proceso de limpieza
También super bien el .gitignore
, no se te ha pasado ningún archivo "rarinchi" 💪
Como detalle, de la misma forma que hiciste con la carpeta de data
lo puedes hacer con los notebooks. Create una carpeta que se llame notebooks
y metelos todos ahí
Muy bien esta parte del proyecto, aunque no lo parezca por que ahora tenemos pocos ficheros en nuestro repo esta parte es importante de cara al futuro cuando nuestros repos vayan teniendo más carpetas y archivos. Buen trabajo 😉
JUPYTER DE LIMPIEZA
isnull
lo cual está perfecto, pero esto te devuelve el dataframe con una tabla de booleanos lo cual puede ser un poco doloroso. Recuerda que puedes acompañar este método con sum
y te devolverá el número de nulos por columnadf.isnull().sum()
Aquí algo de info sobre los docstrings .
Esto lo tines hecho en algunas funciones si y en otras no, intenta mantenerte consistente a lo largo del proyecto
¿Cómo lo podriamos haber hecho? Te dejo por aquí un ejemplo para hacerlo con la columna de especies
def clean_species(x):
diccionario = {
'reef': re.findall(r"[R|r]ee\w+",str(x))
'white' : re.findall(r"[W|w]hit\w+",str(x))
'wobbegong': re.findall(r"[W|w]obbegon\w+",str(x))
'tawney': re.findall(r"[T|t]awne\w+",str(x))
'blacktip': re.findall(r"[B|b]lackti\w+",str(x))
'bull': re.findall(r"[B|b]ul\w+",str(x))
'tiger': re.findall(r"[T|t]ige\w+",str(x))
'bronze_whale': re.findall(r"[B|b]ronz\w+",str(x))
'mako': re.findall(r"[M|m]ak\w+",str(x))
'grey_nurse': re.findall(r"[G|g]re\w+",str(x))
}
# despues lo que hacemos es interar por el diccionario
for k,v in diccionario.items():
# si encuentra un value en el diccionario me devuelves la key del diccionario
if v == True:
return k
else:
# si no me devuelves "other species"
return "other species"
# de esta forma nos evitamos hacer un for loop con muchas condiciones
Has ido creando diferentes datasets en función de tu hipótesis, lo cual me parece que esta perfect. Solo como detalle, si bien este proceso esta bien, hay ciertas acciones que las haces de forma continua en todas las hipótesis, por ejemplo, eliminar columnas. Para evitar que esto lo repitas todo el rato:
Sobre el dataset original elimina esas columnas y a partir de ahí empieza a trabajar en la limpieza para cada una de tus hipótesis.
En la columna de Fatal Y/N
a parte de los valores nulos teníamos otros valores "rarinchis" por ahí que nos podian complicar un poco la vida, básicamente eran valores con espacios antes o después de las letras o valores como lli
. En este caso podrías usar un replace para quitarlos por los valores correctos
Otro detallin, las librerias que usemos todas importadas al inicio del jupyter.
JUPYTER DE VISUALIZACIÓN
Vamos con las gráficas, el general el jupyter esta bien, aún así te dejo por aquói unos tips por si te aportan valor:
Fatal Y/N
la limpieza no quedó del todo muy fina y eso te llevo a que en la gráfica tuvieras dos tipos de unknown (UNKNOWN y Unknown)y
para cambiar un poco la escala de la gráfiaTe dejo por aquí un poco de recap de toda la corrección
En general muy buen trabajo en este primer proyecto Luke 💪! Has sobrevivido al primer proyecto y lo has hecho genial!! En este proyecto hemos interiorizado como trabajar con pandas y cual es el principal proceso de limpieza de un dataset.
https://github.com/lukesmith194/pandas-proje