<jupyter_start><jupyter_text>Carga Data AUDIENCIASCreación del DataFrame asociado a los audienciasRev: 29-10-2020<jupyter_code>import os
import pandas as pd
import numpy as np
from pyarrow import feather
from tqdm import tqdm

from src.data import cleandata
path_raw = "../data/raw/pjud" 
archivos = os.listdir(path_raw) 
tqdm.pandas()
# Creacion dataframe con los datos de Audiencias Realizadas Penal de los años 2015 a 2019

dataframes = []

for archivo in archivos:
    if archivo.find("Audiencias Realizadas Penal") != -1:
        df = pd.read_csv(f"{path_raw}/{archivo}", sep = ";", encoding = 'cp850', dtype = 'unicode', low_memory = True)
        dataframes.append(df) 
        
df_audiencias = pd.concat(dataframes, axis = 0)

df_audiencias.columns
df_audiencias.rename(columns = {'CÓD. CORTE':'COD. CORTE',
                                'CÓD. TRIBUNAL':'COD. TRIBUNAL',
                                'DURACIÓN  AUDIENCIA':'DURACION AUDIENCIA',
                                'AGENDAMIENTO (DÍAS CORRIDOS)':'DIAS AGENDAMIENTO',
                                'DURACIÓN AUDIENCIA (MINUTOS)':'DURACION AUDIENCIA (MIN)',
                                'FECHA PROGRAMACIÓN AUDIENCIA':'FECHA PROGRAMACION AUDIENCIA'
                               },
                     inplace = True)

# TRANSFORMAMOS DE FLOAT A INTEGER

df_audiencias['COD. CORTE'] = df_audiencias['COD. CORTE'].fillna(0).astype(np.int16)
df_audiencias['COD. TRIBUNAL'] = df_audiencias['COD. TRIBUNAL'].fillna(0).astype(np.int16)
df_audiencias['TOTAL AUDIENCIAS'] = df_audiencias['TOTAL AUDIENCIAS'].fillna(0).astype(np.int8)
# Podemos observar que existen columnas que se repiten, y que tienen datos NAN en algunas pero esos datos 
# en otras columnas, pasa en TIPO AUDIENCIA=TIPO DE AUDIENCIA, AGENDAMIENTO (DÍAS CORRIDOS)=PLAZO AGENDAMIENTO
# (DÍAS CORRIDOS), DURACIÓN AUDIENCIA (MINUTOS)= DURACIÓN AUDIENCIA

df_audiencias['TIPO DE AUDIENCIA'] = df_audiencias['TIPO DE AUDIENCIA'].fillna(df_audiencias['TIPO AUDIENCIA'])
df_audiencias['DIAS AGENDAMIENTO'] = df_audiencias['DIAS AGENDAMIENTO'].fillna(df_audiencias['PLAZO AGENDAMIENTO (DIAS CORRIDOS)']).astype(np.int16)
df_audiencias['DURACION AUDIENCIA (MIN)'] = df_audiencias['DURACION AUDIENCIA (MIN)'].fillna(df_audiencias['DURACION AUDIENCIA'])
# Elimino las columnas reemplazadas

df_audiencias.drop(['TIPO AUDIENCIA','PLAZO AGENDAMIENTO (DIAS CORRIDOS)','DURACION AUDIENCIA'], 
                   axis = 'columns', inplace = True)
# Transformamos fechas

df_audiencias['FECHA PROGRAMACION AUDIENCIA'] = df_audiencias['FECHA PROGRAMACION AUDIENCIA'].progress_apply(cleandata.convierte_fecha)
df_audiencias['FECHA AUDIENCIA'] = df_audiencias['FECHA AUDIENCIA'].progress_apply(cleandata.convierte_fecha)
# Elimino espacios en las columnas tipo objetos

df_audiencias = df_audiencias.progress_apply(cleandata.elimina_espacios, axis=0)
# Elimino tildes 

cols = df_audiencias.select_dtypes(include = ["object"]).columns
df_audiencias[cols] = df_audiencias[cols].progress_apply(cleandata.elimina_tilde)
# Categorizar

df_audiencias['CORTE'] = df_audiencias['CORTE'].astype('category')<jupyter_output><empty_output><jupyter_text>Dejo solo causas Ordinarias<jupyter_code>df_audiencias['TIPO CAUSA'].unique()
tipo_causa = df_audiencias[df_audiencias['TIPO CAUSA']!='Ordinaria']
df_audiencias.drop(tipo_causa.index, axis=0, inplace=True)
# Reset el index para realizar feather

df_audiencias.reset_index(inplace = True)
df_audiencias.sort_values('FECHA PROGRAMACION AUDIENCIA')
# Guardamos dataset como archivo feather
path_interim = "../data/interim/pjud"
os.makedirs(path_interim, exist_ok = True) 

df_audiencias.to_feather(f'{path_interim}/Audiencias_feather')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11194630872483222, 'fraction_numerical': 0.008859060402684563, 'mean_word_length': 4.7323076923076925, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '20970', 'license': 'MIT', 'n_tokens_mistral': 1512, 'n_tokens_neox': 1444, 'n_words': 256, 'path': 'notebooks/.ipynb_checkpoints/3.6-jalvaradoruiz-carga-limpieza-data-audiencias-checkpoint.ipynb', 'repo_name': 'JALVARADORUIZ/DataAnalytic-PJUD', 'size': '3725'}