Closed lukesmith194 closed 3 years ago
Hola hola Luke 🙋🏻♀️ vamos con el segundo proyecto!
En general el readme esta bien, con los conceptos muy claros y fácil de seguir 💪🔥
Como puntos fuertes de tu readme:
El inicio del readme esta suuper bien con el objetivo del proyecto y los datasets que has elegido 🔝.
La parte donde pones los steps que has ido dando a lo largo del todo el proyecto esta suuper bien. Queda muy claro todo Luke!
Puntos que me han faltado algunos detalles. Más que cosas que me faltan me faltó un poco más de orden en el readme.
Por ejemplo, en la parte de las librerias, parece que las querías poner en lista, pero al final te quedaron todas en una única fila
Cuando pones los links de la API que has usado, pones dos que llevan a sitios diferentes uno la documentación de la API y otro a un ejemplo de request, especifica lo que es cada uno de los links.
En relación al jupyter y el VSC no hace falta que pongamos los links a la documentación oficial
Podrías poner un poco más en contexto de los principales conceptos que giran entorno a tu proyecto, para que cualquier lector pueda entender la parte menos pythoniana del proyecto.
Como te digo esto último son solo detalles que harán que tu readme vaya aumentando su valor. Pero en general buen trabajo Luke 🔝
Vamos con la estructura!
En general diría que no ha sido tu mejor obra en cuanto a orden se refiere, te dejo por aquí unos comentarios por si te aportan valor:
Tienes una carpeta de DATA
pero se te ha escapado el archivo bnb_final.pkl
fuera de esa carpeta.
Tienes tres jupyters, una cosa que podrías hacer para facilitar el seguimiento de tu proyecto es numerarlos para saber que orden seguir y meterlos en una carpeta que se llame por ejemplo notebooks
.
Se te escapo la carpeta de los checkpoints fuera del .gitignore
Por último tienes una imagen por ahí suelta también, puedes crearte una carpeta que se llame images
donde guardes las imagenes
Tienes todo el repo en inglés pero se te escapó alguna cosa en español, por ejemplo en el segundo jupyter
En relación a los docstrings genial que hayas documentado la función, pero como siempre en python hay una serie de convenciones que deberiamos seguir. ¿Cómo es en el caso de los docstrings?
Vamos jupyter por jupyter:
jupyter BNBPROJECTCLEANING
Sobre este jupyter es sobre el que has trabajado para hacer el pipeline lo cual esta suuper bien. Vamos con los detallitos as allways:
.py
. Por lo tanto, como quedaría al final nuestro código: # En el archivo de la carpeta `.py` tendremos la función de limpieza del dataframe. Aunque parezca absurdo lo ideal es dividir el código por funcionalidad, es decir, en función de lo que hacen las funciones.
# Por eso crearemos dos funciones, una para cargar los datos que nos sirva para cargar cualquier dato y otra para limpiar
def load_data(path):
return pd.read_csv(path)
def cleaning_bnb (df):
df["Daily_diff($)"] = df.High - df.Low
df.drop(["Open"] ,axis= 1, inplace= True) # dado que luego vas a hacer un subset de columnas para crearte uno nuevo esta liena de código no seria necesaria
df = df.rename(columns={"Price(in dollars)": "Price($,mean)"})
df= df[["Date", "Price($,mean)", "High", "Low", "Daily_diff($)","Change%","Vol."]]
dfbnb2['Date']=pd.to_datetime(dfbnb2['Date'], infer_datetime_format='%Y-%m-%d')
hola = dfbnb2.iloc[::-1] # 🔴 como detalle evitar poner estos nombres a nuestras variables o dataframes
hola.reset_index(drop = True,inplace=True)
return hola
# EN EL .PY TENDREMOS
import src.elnombredetufichero as cl
df = cl.load_data("data/bnb.csv")
df2 = cl.cleaning_bnb(df)
# por último exportamos el dataframe
df2.to_csv("bnb_final.csv")
Jupyter BNBPlaying
Suuper este jupyter Luke! Pero ya sabes que siempre hay algún pero por algún lado.
Lo ideal hubiera sido que te crearas una función para hacer la llamada a la api, otra que nos limpiara los datos que nos devuelve la API y un último que me los junte todos hasta conseguir un único dataset.
⚠️ Recuerda, el jupyter tiene que estar lo más limpio posible y debemos modularizar nuestro código. Eso lo conseguimos haciendo el archivo .py
y creando muchas funcioncitas 😉
jupyter BNBVisuals
Nada que decirte en este jupyter Luke 💪💪🔝! Has hecho varias gráficas, y las has intepretado. Solo por ponerme tiquismiquis, me falto como una conclusión general al proyecto. Haces muchas gráficas y las explicas genial, pero... danos una conclusión global del proyecto, y que nos ha aportado añadir datos a los originales.
Te dejo por aquí un pequeño resumen de los principales tips que te deje en esta revisión:
.py
y que llamemmos desde el jupyter. Modularizar el códigoAún con todo lo que te dije, hiciste muy buen proyecto Luke!! Te has peleando con una API, has hecho limpieza, te has creado alguna función y has hecho una buenísima visualización!!
Sigue trabajando así que lo estas haciendo muy muy bien 💪🔥!
https://github.com/lukesmith194/BNB-project