Refactorización de código a clase
This commit is contained in:
parent
f0c39fbe98
commit
b1367ba95f
1 changed files with 53 additions and 11 deletions
|
@ -1,18 +1,60 @@
|
|||
import numpy as np
|
||||
import pandas as pd
|
||||
|
||||
df = pd.read_csv("../../data/dvgm.csv")
|
||||
print("Visualización de la base de datos")
|
||||
print(df)
|
||||
|
||||
atributos = df.columns.values
|
||||
print("\nVisualización de los atributos")
|
||||
print(atributos)
|
||||
class BaseDeDatos:
|
||||
"""Clase que manipula los datos trabajados."""
|
||||
|
||||
print("\nVisualización de los tipos de datos")
|
||||
print(df.info())
|
||||
def __init__(self):
|
||||
"""Función que inicializa la clase.
|
||||
Se establecen los métodos que se deben ejecutar al inicializar la clase.
|
||||
"""
|
||||
|
||||
self.leer_datos()
|
||||
self.definir_variables()
|
||||
self.preprocesar_datos()
|
||||
self.visualizar_basicos()
|
||||
self.imprimir_atributos_agrupados()
|
||||
|
||||
def leer_datos(self):
|
||||
"""Método que lee los datos."""
|
||||
|
||||
data_path = "../../data/dvgm.csv"
|
||||
self.df = pd.read_csv(data_path)
|
||||
|
||||
def definir_variables(self):
|
||||
"""Método que define variables necesarias respecto a los datos."""
|
||||
|
||||
self.atributos = self.df.columns.values
|
||||
|
||||
def preprocesar_datos(self):
|
||||
"""Método que preprocesa los datos que lo requieren."""
|
||||
self.df.loc[:, "fecha_completa"] = self.df.loc[:, "fecha"] + \
|
||||
" " + self.df.loc[:, "hora_recepcion"]
|
||||
|
||||
self.df.loc[:, "fecha_completa"] = pd.to_datetime(
|
||||
self.df.loc[:, "fecha_completa"], format="%d/%m/%y %H:%M:%S")
|
||||
|
||||
def visualizar_basicos(self):
|
||||
"""Método que imprime una visualización básica de los datos."""
|
||||
|
||||
print("Visualización de la base de datos")
|
||||
print(self.df)
|
||||
|
||||
print("\nVisualización de los atributos")
|
||||
print(self.atributos)
|
||||
|
||||
print("\nVisualización de los tipos de datos")
|
||||
print(self.df.info())
|
||||
|
||||
def imprimir_atributos_agrupados(self):
|
||||
"""Método que imprime los valores de cada atributo y su respectivo conteo."""
|
||||
|
||||
for atributo in self.atributos:
|
||||
recopilado = self.df.groupby(atributo).count().iloc[:, 0].copy()
|
||||
print("\n\nAtributo agrupado: {}\n".format(atributo))
|
||||
print(recopilado)
|
||||
|
||||
|
||||
for atributo in atributos:
|
||||
recopilado = df.groupby(atributo).count().iloc[:, 0].copy()
|
||||
print(recopilado)
|
||||
if __name__ == "__main__":
|
||||
bd = BaseDeDatos()
|
||||
|
|
Loading…
Reference in a new issue