Referencia de la API¶
data_cleaner.data_cleaner module¶
Cleaner de CSVs a partir de reglas de limpieza.
La clase DataCleaner permite limpiar archivos CSVs con datos a partir de la aplicación de reglas de limpieza.
-
class
data_cleaner.data_cleaner.
DataCleaner
(input_path, encoding=None, sep=None, ignore_dups=False, quotechar=None)[fuente]¶ Clases base:
object
Crea un objeto DataCleaner cargando un CSV en un DataFrame y expone reglas de limpieza para operar sobre las columnas del objeto y retornar un CSV limplio.
-
DEFAULT_SUFIX
= u'normalizado'¶
-
INPUT_DEFAULT_ENCODING
= 'utf-8'¶
-
INPUT_DEFAULT_QUOTECHAR
= '"'¶
-
INPUT_DEFAULT_SEPARATOR
= ','¶
-
OUTPUT_ENCODING
= 'utf-8'¶
-
OUTPUT_QUOTECHAR
= '"'¶
-
OUTPUT_SEPARATOR
= ','¶
-
clean
(rules)[fuente]¶ Aplica las reglas de limpieza al objeto en memoria.
Parámetros: rules (list) – Lista de reglas de limpieza.
-
clean_file
(rules, output_path)[fuente]¶ Aplica las reglas de limpieza y guarda los datos en un csv.
Parámetros: rules (list) – Lista de reglas de limpieza.
-
fecha_completa
(field, time_format, keep_original=False, inplace=False)[fuente]¶ Regla para fechas completas que están en un sólo campo.
Parámetros: Devuelve: Serie de strings limpios
Tipo del valor devuelto: pandas.Series
-
fecha_separada
(fields, new_field_name, keep_original=True, inplace=False)[fuente]¶ Regla para fechas completas que están separadas en varios campos.
Parámetros: Devuelve: Serie de strings limpios.
Tipo del valor devuelto: pandas.Series
-
fecha_simple
(field, time_format, keep_original=False, inplace=False)[fuente]¶ Regla para fechas sin hora, sin día o sin mes.
Parámetros: Devuelve: Serie de strings limpios
Tipo del valor devuelto: pandas.Series
-
mail_format
(field, sufix=None, keep_original=False, inplace=False)[fuente]¶ Regla para dar formato a las direcciones de correo electronico.
Lleva todas las cadenas a minusculas y luego si hay varias las separa por comas.
Parámetros: field (str) – Campo a limpiar Devuelve: Serie de strings limpios Tipo del valor devuelto: pandas.Series
-
nombre_propio
(field, sufix=None, lower_words=None, keep_original=False, inplace=False)[fuente]¶ Regla para todos los nombres propios.
Capitaliza los nombres de países, ciudades, personas, instituciones y similares.
Parámetros: field (str) – Campo a limpiar Devuelve: Serie de strings limpios Tipo del valor devuelto: pandas.Series
-
reemplazar
(field, replacements, sufix=None, keep_original=False, inplace=False)[fuente]¶ Reemplaza listas de valores por un nuevo valor.
Parámetros: Devuelve: Serie de strings limpios
Tipo del valor devuelto: pandas.Series
-
reemplazar_string
(field, replacements, sufix=None, keep_original=False, inplace=False)[fuente]¶ - Reemplaza listas de strings por un nuevo string.
- A diferencias de la funcion reemplazar hace reemplazos parciales.
Parámetros: Devuelve: Serie de strings limpios
Tipo del valor devuelto: pandas.Series
-
remover_columnas
(field, inplace=False)[fuente]¶ Remueve columnas.
Parámetros: field (str) – Campo a limpiar Devuelve: Data frame con las columnas removidas. Tipo del valor devuelto: pandas.DataFrame
-
renombrar_columnas
(field, new_field, inplace=False)[fuente]¶ Renombra una columna.
Parámetros: - field (str) – Campo a renombrar.
- field – Nuevo nombre
Devuelve: Data frame con las columnas renombradas.
Tipo del valor devuelto: pandas.DataFrame
-
save
(output_path)[fuente]¶ Guarda los datos en un nuevo CSV con formato estándar.
El CSV se guarda codificado en UTF-8, separado con ”,” y usando ‘”’ comillas dobles como caracter de enclosing.
-
string
(field, sufix=None, sort_tokens=False, remove_duplicates=False, keep_original=False, inplace=False)[fuente]¶ Regla para todos los strings.
Aplica un algoritimo de clustering para normalizar strings que son demasiado parecidos, sin pérdida de información.
Parámetros: field (str) – Campo a limpiar. Devuelve: Serie de strings limpios. Tipo del valor devuelto: pandas.Series
-
string_peg_split
(field, grammar, new_field_names, keep_original=True, inplace=False)[fuente]¶ Regla para separar un campo a partir parsing expression grammars.
Parámetros: Devuelve: Serie de strings limpios
Tipo del valor devuelto: pandas.Series
-
string_regex_split
(field, pattern, new_field_names, keep_original=True, inplace=False)[fuente]¶ Regla para separar un campo a partir de una expresión regular.
TODO!!! Falta implementar este método.
Parámetros: Devuelve: Serie de strings limpios
Tipo del valor devuelto: pandas.Series
-
string_regex_substitute
(field, regex_str_match, regex_str_sub, sufix=None, keep_original=True, inplace=False)[fuente]¶ Regla para manipular y reeemplazar datos de un campo con regex.
Parámetros: Devuelve: Serie de strings limpios
Tipo del valor devuelto: pandas.Series
-
-
exception
data_cleaner.data_cleaner.
DuplicatedField
(value)[fuente]¶ Clases base:
exceptions.ValueError
Salta cuando hay un campo duplicado en el dataset.
data_cleaner.capitalizer module¶
Nomalizacion de strings.
data_cleaner.fingerprint_keyer module¶
Implementa funciones para clusterizar strings.
Utiliza el algoritmo Key Collision: Fingerprint.
-
data_cleaner.fingerprint_keyer.
fingerprint_keyer
(key_string, sort_tokens=False, remove_duplicates=False)[fuente]¶ Convierte un string en su fingerprint key representation.
Parámetros: key_string (str) – String para convertir en fingerprint key. Devuelve: Fingerprint correspondiente al input. Tipo del valor devuelto: str
-
data_cleaner.fingerprint_keyer.
get_best_replacements
(clusters, counts)[fuente]¶ Selecciona los strings más utilizados por cluster.
Itera por cada cluster para determinar la mejor string para reemplazar las strings originales. De momento solo utiliza un conteo simple pero podria agregarse algun criterio basado en la capitalizacion de las palabras
Parámetros: Devuelve: {fingerprint: string_mas_usada_para_esa_fingerprint}
Tipo del valor devuelto:
-
data_cleaner.fingerprint_keyer.
group_fingerprint_strings
(raw_strs, sort_tokens=False, remove_duplicates=False)[fuente]¶ Clusteriza un conjunto de strings, según sus fingerprints.
Parámetros: raw_strs (list) – Lista de strings sin procesar. Devuelve: - En el primer dict las keys son los fingerprints y los
- valores las strings originales. En el segundo las keys son las strings sin normalizar y los valores el conteo de la cantidad de veces que aparecen.
Tipo del valor devuelto: (dict, dict)