<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Limpieza de un CSV con data-cleaner
Se utilizan data-cleaner y pandas para codificar la limpieza de los datos de un archivo CSV. Primero se realiza una exploración de la tabla aplicando algunas reglas de limpieza y comprobando el resultado generado. Cuando este resultado es satisfactorio, se agrega la regla de limpieza a la lista codificada que luego se utilizará para generar la versión limpia del archivo.
Inicio
Step1:  Exploración y descubrimiento
Step2:  Reglas de limpieza codificadas
Step3:  Limpieza
<ASSISTANT_TASK:>
Python Code:
from data_cleaner import DataCleaner
input_path = "audiencias-raw.csv"
output_path = "audiencias-clean.csv"
dc = DataCleaner(input_path)
import pandas as pd
df = pd.read_csv("audiencias-clean.csv")
map(print, df[df.root_dependencia_descripcion == "Presidencia de la Nación"].dependencia_descripcion.unique())
map(print, df.root_dependencia_descripcion.unique())
Explanation: Limpieza de un CSV con data-cleaner
Se utilizan data-cleaner y pandas para codificar la limpieza de los datos de un archivo CSV. Primero se realiza una exploración de la tabla aplicando algunas reglas de limpieza y comprobando el resultado generado. Cuando este resultado es satisfactorio, se agrega la regla de limpieza a la lista codificada que luego se utilizará para generar la versión limpia del archivo.
Inicio
End of explanation
dc.df.columns
Explanation: Exploración y descubrimiento
End of explanation
rules = [
    {
        "remover_columnas": [
            {"field": "obligadodependenciaid"},
            {"field": "obligadoid"},
            {"field": "obligado_posicion"},
            {"field": "dependenciaid"},
            {"field": "dependencia_depende"},
            {"field": "dependencia_posicion"},
            {"field": "rootdependenciaid"},
            {"field": "solicitanteid"},
            {"field": "solic_personajuridica"},
            {"field": "tipointeresinvocadoid"},
            {"field": "tipocaracterid"},
            {"field": "representadoid"},
            {"field": "tipoestadoid"},
            {"field": "tipoestadonorealizadaid"},
            {"field": "obligadoasesorid"},
            {"field": "dependenciadescripcion"},
            
        ]
    },
    {
        "nombre_propio": [
            {"field": "obligado_cargo", "keep_original": False},
            {"field": "obligado_apellido", "keep_original": False},
            {"field": "obligado_nombre", "keep_original": False},
            {"field": "dependencia_descripcion", "keep_original": False},
            {"field": "rootdependenciadescripcion", "keep_original": False},
            {"field": "solic_apellido", "keep_original": False},
            {"field": "solic_nombre", "keep_original": False},
            {"field": "solic_cargo", "keep_original": False},
            {"field": "interes_invocado", "keep_original": False},
            {"field": "desc_caracter", "keep_original": False},
            {"field": "representado_apellido", "keep_original": False},
            {"field": "desc_estado", "keep_original": False},
            {"field": "obligadoasesorcargo", "keep_original": False},
            {"field": "asesor_apellido", "keep_original": False},
            {"field": "asesor_nombre", "keep_original": False},
            {"field": "asesor_cargo", "keep_original": False},
        ]
    },
    {
        "string": [
            {"field": "obligado_cargo", "keep_original": False},
            {"field": "obligado_apellido", "keep_original": False},
            {"field": "obligado_nombre", "keep_original": False},
            {"field": "dependencia_descripcion", "keep_original": False},
            {"field": "rootdependenciadescripcion", "keep_original": False},
            {"field": "solic_apellido", "keep_original": False},
            {"field": "solic_nombre", "keep_original": False},
            {"field": "solic_cargo", "keep_original": False},
            {"field": "interes_invocado", "keep_original": False},
            {"field": "desc_caracter", "keep_original": False},
            {"field": "representado_apellido", "keep_original": False},
            {"field": "desc_estado", "keep_original": False},
            {"field": "obligadoasesorcargo", "keep_original": False},
            {"field": "asesor_apellido", "keep_original": False},
            {"field": "asesor_nombre", "keep_original": False},
            {"field": "asesor_cargo", "keep_original": False},
        ]
    },
    {
        "fecha_completa": [
            {"field": "fechaaudiencia", "time_format": "YY-MM-DD HH:mm:ss"},
        ]
    },
    {
        "fecha_simple": [
            {"field": "fechasolicitud", "time_format": "YY-MM-DD HH:mm:ss"},
        ]
    },
    {
        "renombrar_columnas": [
            {"field": "audienciaid", "new_field": "audiencia_id"},
            {"field": "rootdependenciadescripcion", "new_field": "root_dependencia_descripcion"},
            {"field": "fechasolicitud", "new_field": "fecha_solicitud"},
            {"field": "fechaaudiencia", "new_field": "fecha_audiencia"},
            {"field": "representado_personajuridica", "new_field": "representado_persona_juridica"},
            {"field": "obligadoasesorcargo", "new_field": "obligado_asesor_cargo"}
        ]
    }
]
Explanation: Reglas de limpieza codificadas
End of explanation
dc.clean(rules)
dc.df
for c in dc.df.columns:
    print(c)
dc.df.asesor_cargo[0]
dc.save(output_path)
Explanation: Limpieza
End of explanation
<END_TASK>