Estás navegando por el archivo de tutorial.

Flourish: visualizaciones fáciles en base a plantillas

- el julio 12, 2018 en Tutoriales

Esta herramienta de visualización te permite crear gráficos, mapas e historias interactivas en línea. Se basa en una serie de principios básicos que pretenden facilitar el trabajo para cualquier usuario:

  • No se requiere código solo conectar los datos con las librerías de plantillas con las que cuenta
  • Flexibilidad hacia arriba al permitirle a algunos usuarios poder crear plantillas privadas y a la medida
  • Storytelling animado para poder guiar a las audiencias a través de datos. Explicándolos ya sea a través de la publicación o a medida que interactúan.
  • Embeds y descargas ya que los proyectos se pueden incrustar en cualquier página, pero también se pueden descargar como archivos crudos o raw para otros usos.

Lee el resto de la entrada →

Algoritmos y clusters: Encuentra errores y límpialos de manera fácil con OpenRefine

- el mayo 3, 2018 en Tutoriales

¿Te has encontrado con bases de datos que tienen pequeños errores de transcripción? ¿Espacios de más, uso desordenado de mayúsculas y minúsculas, o registros que representan al mismo dato pero que fueron escritos con pequeñas diferencias? Con la herramienta OpenRefine puedes automatizar mucho del doloroso proceso de limpiar una base de datos. En este tutorial te enseñaremos una de sus funciones más útiles: la clusterización —o generación de agrupaciones automáticas— y los diferentes algoritmos que determinan las coincidencias entre registros.

Lee el resto de la entrada →

Tutorial: Geodatos con Python

- el noviembre 2, 2017 en Tutoriales

 Desde Escuela de Datos, Sebastián Oliva, fellow 2017, enseña cómo usar Python para generar mapas a partir de datos georreferenciados.

Pues seguir el webinar del 31 de octubre paso a paso en el video que compartimos contigo y el cuaderno que publicamos abajo. También puedes consultar el cuaderno de trabajo de Sebastián aquí.

Lee el resto de la entrada →

Cómo crear un mapa 3D de Buenos Aires, Argentina

- el octubre 4, 2017 en Uncategorized

Por Nicolas Grossman y Bruno Salerno

Los mapas son excelentes herramientas para visualizar datos de una ciudad y compararlos entre zonas de la misma. Pero si además podemos graficar los edificios en tres dimensiones, la visualización resulta más impactante aún. En este tutorial contamos cómo realizamos el mapa que muestra los precios promedio del metro cuadrado en cada parcela de la ciudad de Buenos Aires (Argentina) y San Pablo (Brasil), con sus respectivos edificios en 3D.

Lee el resto de la entrada →

Tutorial: Limpieza y visualizaciones para encontrar patrones con Python

- el agosto 31, 2017 en Tutoriales

Desde Escuela de Datos, Sebastián Oliva, fellow 2017, enseña cómo usar la librería de Pandas para Python para importar distintas bases de datos. En este ejercicio conocemos qué es una base de datos relacional, de qué trata el lenguaje SQL, y en el terreno práctico, cómo hacer algunas visualizaciones en Python para hallar patrones interesantes.
Puedes seguir paso a paso viendo este video-tutorial, siguiendo el cuaderno que publicamos abajo o consultando el cuaderno de trabajo de Sebastián en este link.
Lee el resto de la entrada →

Introducción a Pandas y Jupyter Notebook de Python

- el junio 28, 2017 en DAL, Fuentes de datos, Tutoriales, Uncategorized

Ese tutorial y documentación detallados en Jupyter Notebook fueron escritos por Sebastián Oliva, fellow 2017 de Escuela de Datos por Guatemala. En el webinar lanzado el 28 de junio puedes seguir paso a paso este ejercicio de limpieza y análisis de datos.

Introducción

Este es el primero de varios tutoriales introductorios al procesamiento y limpieza de datos. En este estaremos usando como ambiente de trabajo a Jupyter, que permite crear documentos con código y prosa, además de almacenar resultados de las operaciones ejecutadas (cálculos, graficas, etc). Jupyter permite interactuar con varios lenguajes de programación, en este, usaremos Python, un lenguaje de programación bastante simple y poderoso, con acceso a una gran variedad de librerias para procesamiento de datos. Entre estas, está Pandas, una biblioteca que nos da acceso a estructuras de datos muy poderosas para manipular datos.

¡Comenzemos entonces!

Instalación

Para poder ejecutar este Notebook, necesitas tener instalado Python 3, el cual corre en todos los sistemas operativos actuales, sin embargo, para instalar las dependencias: Pandas y Jupyter.

Modo Sencillo

Recomiendo utilizar la distribución Anaconda https://www.continuum.io/downloads en su versión para Python 3, esta incluye instalado Jupyter, Pandas, Numpy y Scipy, y mucho otro software útil. Sigue las instrucciones en la documentación de Anaconda para configurar un ambiente de desarollo con Jupyter.
https://docs.continuum.io/anaconda/navigator/getting-started.html

Una vez instalado, prueba a seguir los paso de https://www.tutorialpython.com/modulos-python/ o tu tutorial de Python Favorito.

«It’s a Unix System, I know This!» – Modo Avanzado

Te recomiendo utilizar Python 3.6 o superior, instalar la version mas reciente posible de virtualenv y pip. Usa Git para obtener el codigo, crea un nuevo entorno de desarollo y ahi instala las dependencias necesarias.

~/$ cd notebooks
~/notebooks/$ git clone https://github.com/tian2992/notebooks_dateros.git
~/notebooks/$ cd notebooks_dateros/
~/notebooks/notebooks_dateros/$ 
~/notebooks/notebooks_dateros/$ virtualenv venv/
~/notebooks/notebooks_dateros/$ source venv/bin/activate
~/notebooks/notebooks_dateros/$ pip install -r requirements.txt
~/notebooks/notebooks_dateros/$ cd 01-Intro
~/notebooks/notebooks_dateros/$ 7z e municipal_guatemala_2008-2011.7z
~/notebooks/notebooks_dateros/$ jupyter-notebook

Primeros pasos

In [5]:
## En Jupyter Notebooks existen varios tipos de celdas, las celdas de código, como esta:
print(1+1)
print(5+4)
6+4
2
9
Out[5]:
10

Y las celdas de texto, que se escriben en Markdown y son hechas para humanos. Pueden incluir negritas, itálicas Entre otros tipos de estilos. Tambien pueden incluirse imagenes o incluso interactivos.

In [6]:
%pylab inline
import seaborn as sns
import pandas as pd
pd.set_option('precision', 5)
Populating the interactive namespace from numpy and matplotlib

Con estos comandos, cargamos a nuestro entorno de trabajo las librerias necesarias.

Usemos la funcion de pandas read_csv para cargar los datos. Esto crea un DataFrame, una unidad de datos en Pandas, que nos da mucha funcionalidad y tiene bastantes propiedades convenientes para el análisis. Probablemente esta operación tome un tiempo asi que sigamos avanzando, cuando esté lista, verás que el numero de la celda habrá sido actualizado.

In [7]:
muni_data = pd.read_csv("GUATEMALA MUNICIPAL 2008-2011.csv", 
                        sep=";")
/home/tian/OPENDATA/MUNICIPALIDADES/venv/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2698: DtypeWarning: Columns (19) have mixed types. Specify dtype option on import or set low_memory=False.
  interactivity=interactivity, compiler=compiler, result=result)
In [11]:
muni_data.head()
Out[11]:
ANNO ADMINISTRACIÓN MUNICIPIO DEPTO MUN FUNC1 FUNC2 FUNC3 ECON1 ECON2 ORIGEN2 ORIGEN3 PROGRAMA1 PROGRAMA2 PROYECTO1 PROYECTO2 APROBADO RETRASADO EJECUTADO PAGADO
0 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.137,400.00 Q.137,400.00 Q.137,400.00
1 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
2 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
3 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.240,000.00 Q.49,588.00 Q.49,588.00 Q.49,588.00
4 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-

5 rows × 21 columns

DataFrames y más

Aqui podemos ver el dataframe que creamos.
En Pandas, los DataFrames son unidades básicas, junto con las Series.

Veamos una serie muy sencilla antes de pasar a evaluar muni_data, el DataFrame que acabamos de crear. Crearemos una serie de numeros aleatorios, y usaremos funciones estadisticas para analizarlo.

In [10]:
serie_prueba_s = pd.Series(np.random.randn(5), name='prueba')

print(serie_prueba_s)

print(serie_prueba_s.describe())

serie_prueba_s.plot()
0   -0.50246
1    0.90772
2    1.37897
3    2.56289
4    0.07101
Name: prueba, dtype: float64
count    5.00000
mean     0.88363
std      1.18822
min     -0.50246
25%      0.07101
50%      0.90772
75%      1.37897
max      2.56289
Name: prueba, dtype: float64
Out[10]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f0764326780>

Con esto podemos ver ya unas propiedades muy interesantes. Las series están basadas en el concepto estadistico, pero incluyen un título (del eje), un índice (el cual identifica a los elementos) y el dato en sí, que puede ser numerico (float), string unicode (texto) u otro tipo de dato.

Las series estan basadas tambien en conceptos de vectores, asi que se pueden realizar operaciones vectoriales en las cuales implicitamente se alinean los indíces, esto es muy util por ejemplo para restar dos columnas, sin importar el tamaño de ambas, automaticamente Pandas unirá inteligentemente ambas series. Puedes tambien obtener elementos de las series por su valor de índice, o por un rango, usando la notación usual en Python. Como nota final, las Series comparten mucho del comportamiento de los NumPy Arrays, haciendolos instantaneamente compatibles con muchas librerias y recursos. https://pandas.pydata.org/pandas-docs/stable/dsintro.html#series

In [13]:
serie_prueba_d = pd.Series(np.random.randn(5), name='prueba 2')

print(serie_prueba_d)

print(serie_prueba_d[0:3]) # Solo los elementos del 0 al 3

# Esto funciona porque ambas series tienen indices en común.
# Si sumamos dos con tamaños distintos, los espacios vacios son marcados como NaN
serie_prueba_y = serie_prueba_d + (serie_prueba_s * 2)
print(serie_prueba_y)
print("La suma de la serie y es: {suma}".format(suma=serie_prueba_y.sum()))
0   -0.88087
1    0.78036
2    1.91407
3   -0.28563
4    0.13854
Name: prueba 2, dtype: float64
0   -0.88087
1    0.78036
2    1.91407
Name: prueba 2, dtype: float64
0   -1.88578
1    2.59579
2    4.67201
3    4.84014
4    0.28056
dtype: float64
La suma de la serie y es: 10.502719345870334

Pasemos ahora a DataFrames, como nuestro muni_data DataFrame. Los DataFrames son estructuras bi-dimensionales de datos. Son muy usadas porque proveen una abstracción similar a una hoja de calculo o a una tabla de SQL. Los DataFrame tienen índices (etiquetas de fila) y columnas, ambos ejes deben encajar, y el resto será llenado de datos no validos.

Por ejemplo podemos unir ambas series y crear un DataFrame nuevo, usando un diccionario de Python, por ejemplo. Tambien podemos graficar los resultados.

In [14]:
prueba_dict = {
                        "col1": serie_prueba_s,
                        "col2": serie_prueba_d,
                        "col3": [1, 2, 3, 4, 0]
             }
prueba_data_frame = pd.DataFrame(prueba_dict)
print(prueba_data_frame)
# La operacion .sum() ahora retorna un DataFrame, pero Pandas sabe no combinar peras con manzanas.
print("La suma de cada columna es: \n{suma}".format(suma=prueba_data_frame.sum())) 
prueba_data_frame.plot()
      col1     col2  col3
0 -0.50246 -0.88087     1
1  0.90772  0.78036     2
2  1.37897  1.91407     3
3  2.56289 -0.28563     4
4  0.07101  0.13854     0
La suma de cada columna es: 
col1     4.41813
col2     1.66646
col3    10.00000
dtype: float64
Out[14]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f076e7ec518>

Veamos ahora ya, nuestro DataFrame creado con los datos, muni_data.

In [61]:
#muni_data
Out[61]:
ANNO ADMINISTRACIÓN MUNICIPIO DEPTO MUN FUNC1 FUNC2 FUNC3 ECON1 ECON2 ORIGEN2 ORIGEN3 PROGRAMA1 PROGRAMA2 PROYECTO1 PROYECTO2 APROBADO RETRASADO EJECUTADO PAGADO
0 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.137,400.00 Q.137,400.00 Q.137,400.00
1 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
2 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
3 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.240,000.00 Q.49,588.00 Q.49,588.00 Q.49,588.00
4 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
5 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.16,000.00 Q.16,000.00 Q.16,000.00
6 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.1,750.00 Q.1,500.00 Q.1,500.00
7 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica Q.26,000.00 Q.2,750.00 Q.2,750.00 Q.2,750.00
8 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.250.00 Q.250.00 Q.250.00
9 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
10 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.250.00 Q.250.00 Q.250.00
11 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 029 – Otras Remuneraciones De Personal Temporal 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.44,740.00 Q.44,740.00 Q.44,740.00
12 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 029 – Otras Remuneraciones De Personal Temporal 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.58,250.00 Q.58,250.00 Q.58,250.00
13 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 029 – Otras Remuneraciones De Personal Temporal 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
14 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 029 – Otras Remuneraciones De Personal Temporal 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.12,650.00 Q.12,650.00 Q.12,650.00
15 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 031 – Jornales 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
16 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.15,700.00 Q.17,900.00 Q.15,900.00
17 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.11,750.00 Q.10,995.53 Q.10,995.53
18 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.21,000.00 Q.5,500.00 Q.5,500.00 Q.5,500.00
19 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
20 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.2,000.00 Q.2,250.00 Q.2,250.00
21 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 196 – Servicios De Atención Y Protocolo 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.15,000.00 Q.14,908.12 Q.14,908.12
22 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 199 – Otros Servicios No Personales 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.6,000.00 Q.11,969.50 Q.11,958.50 Q.11,958.50
23 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 211 – Alimentos Para Personas 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.3,000.00 Q.- Q.- Q.-
24 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 211 – Alimentos Para Personas 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.28,000.00 Q.27,992.74 Q.27,992.74
25 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 211 – Alimentos Para Personas 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.5,000.00 Q.4,994.45 Q.4,994.45
26 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 21 Gastos Corrientes 415 – Vacaciones Pagadas Por Retiro 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.1,500.00 Q.1,500.00 Q.- Q.-
27 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.24,000.00 Q.24,000.00 Q.1,000.00 Q.1,000.00
28 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 015 – Complementos Específicos Al Personal Per… 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.3,713.37 Q.3,713.37 Q.125.00 Q.125.00
29 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 051 – Aporte Patronal Al Igss 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.3,000.00 Q.3,000.00 Q.- Q.-
674105 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 286 – Herramientas Menores No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 4 – MEJORAMIENTO MATERIALES DE CONSTRUCCION ME… 1 – MEJORAMIENTO MATERIALES DE CONSTRUCCION ME… Q.2,500.00 Q.649.00 NaN Q.649.00
674106 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 154 – Arrendamiento De Maquinaria Y Equipo De … No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 5 – AMPLIACION MURO PERIMETRAL CEMENTERIO MUNI… 1 – AMPLIACION MURO PERIMETRAL CEMENTERIO MUNI… Q.150,000.00 Q.- NaN Q.-
674107 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 154 – Arrendamiento De Maquinaria Y Equipo De … No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 5 – AMPLIACION MURO PERIMETRAL CEMENTERIO MUNI… 1 – AMPLIACION MURO PERIMETRAL CEMENTERIO MUNI… Q.150,000.00 Q.- NaN Q.-
674108 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 189 – Otros Estudios Y/O Servicios No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.60,000.00 Q.- NaN Q.-
674109 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 189 – Otros Estudios Y/O Servicios No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.60,000.00 Q.- NaN Q.-
674110 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 214 – Productos Agroforestales, Madera, Corcho… No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.10,000.00 Q.- NaN Q.-
674111 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 214 – Productos Agroforestales, Madera, Corcho… No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.10,000.00 Q.- NaN Q.-
674112 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 223 – Piedra, Arcilla Y Arena No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.5,000.00 Q.- NaN Q.-
674113 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 224 – Pómez, Cal Y Yeso No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.3,000.00 Q.- NaN Q.-
674114 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 267 – Tintes, Pinturas Y Colorantes No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.4,000.00 Q.- NaN Q.-
674115 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 268 – Productos Plásticos, Nylon, Vinil Y P.V.C. No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.20,000.00 Q.- NaN Q.-
674116 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 268 – Productos Plásticos, Nylon, Vinil Y P.V.C. No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.20,000.00 Q.- NaN Q.-
674117 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 272 – Productos De Vidrio No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.5,000.00 Q.- NaN Q.-
674118 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 273 – Productos De Loza Y Porcelana No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.15,000.00 Q.- NaN Q.-
674119 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 274 – Cemento No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.5,500.00 Q.- NaN Q.-
674120 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 275 – Productos De Cemento, Pómez, Asbesto Y Yeso No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.33,500.00 Q.- NaN Q.-
674121 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 275 – Productos De Cemento, Pómez, Asbesto Y Yeso No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.34,000.00 Q.- NaN Q.-
674122 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 281 – Productos Siderúrgicos No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.5,000.00 Q.- NaN Q.-
674123 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 284 – Estructuras Metálicas Acabadas No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.25,000.00 Q.- NaN Q.-
674124 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 297 – Útiles, Accesorios Y Materiales Eléctricos No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.15,000.00 Q.- NaN Q.-
674125 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 297 – Útiles, Accesorios Y Materiales Eléctricos No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.15,000.00 Q.- NaN Q.-
674126 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 329 – Otras Maquinarias Y Equipos No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.21,000.00 Q.- NaN Q.-
674127 2011 Municipal ZACAPA ZACAPA ZACAPA 07 – URBANIZACION Y SERVICIOS COMUNITARIOS 0706 – Urbanización y servicios comunitarios n… 070601-Urbanización y servicios comunitarios n… 22 Gastos de Capital 329 – Otras Maquinarias Y Equipos No Aplica No Aplica 19 – MEJORAMIENTO DE INFRAESTRUCTURA 0 – SIN SUB PROGRAMA 6 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA 1 – MEJORAMIENTO EDIFICIO(S) MUNICIPAL, ZACAPA Q.34,000.00 Q.- NaN Q.-
674128 2011 Municipal ZACAPA ZACAPA ZACAPA 12 – TRANSACCIONES DE LA DEUDA PUBLICA 1201 – Intereses y comisiones de la deuda pública 120101-Intereses y comisiones de la deuda pública 23 Aplicaciones Financieras 731 – Intereses Por Préstamos Del Sector Privado No Aplica No Aplica 99 – DEUDA MUNICICPAL 0 – SIN SUB PROGRAMA 0 – SIN PPROYECTO 1 – AMORTIZACION PRESTAMO VIVIBANCO Q.- Q.204,049.00 NaN Q.204,049.00
674129 2011 Municipal ZACAPA ZACAPA ZACAPA 12 – TRANSACCIONES DE LA DEUDA PUBLICA 1201 – Intereses y comisiones de la deuda pública 120101-Intereses y comisiones de la deuda pública 23 Aplicaciones Financieras 731 – Intereses Por Préstamos Del Sector Privado No Aplica No Aplica 99 – DEUDA MUNICICPAL 0 – SIN SUB PROGRAMA 0 – SIN PPROYECTO 1 – AMORTIZACION PRESTAMO VIVIBANCO Q.3,695,000.00 Q.3,743,544.00 NaN Q.3,717,234.12
674130 2011 Municipal ZACAPA ZACAPA ZACAPA 12 – TRANSACCIONES DE LA DEUDA PUBLICA 1201 – Intereses y comisiones de la deuda pública 120101-Intereses y comisiones de la deuda pública 23 Aplicaciones Financieras 751 – Amortización De Préstamos a Largo Plazo … No Aplica No Aplica 99 – DEUDA MUNICICPAL 0 – SIN SUB PROGRAMA 0 – SIN PPROYECTO 1 – AMORTIZACION PRESTAMO VIVIBANCO Q.812,000.00 Q.812,100.00 NaN Q.812,037.53
674131 2011 Municipal ZACAPA ZACAPA ZACAPA 12 – TRANSACCIONES DE LA DEUDA PUBLICA 1202 – Amortizaciones de deuda pública 120201-Amortizaciones de deuda pública 23 Aplicaciones Financieras 769 – Disminución De Otras Cuentas A Pagar A L… No Aplica No Aplica 99 – DEUDA MUNICICPAL 0 – SIN SUB PROGRAMA 0 – SIN PPROYECTO 2 – PAGO CONVENIO PLAN DE PRESTACIONES Q.165,000.00 Q.357,352.00 NaN Q.357,351.15
674132 2011 Municipal ZACAPA ZACAPA ZACAPA 12 – TRANSACCIONES DE LA DEUDA PUBLICA 1202 – Amortizaciones de deuda pública 120201-Amortizaciones de deuda pública 23 Aplicaciones Financieras 769 – Disminución De Otras Cuentas A Pagar A L… No Aplica No Aplica 99 – DEUDA MUNICICPAL 0 – SIN SUB PROGRAMA 0 – SIN PPROYECTO 2 – PAGO CONVENIO PLAN DE PRESTACIONES Q.- Q.114,305.00 NaN Q.114,304.65
674133 2011 Municipal ZACAPA ZACAPA ZACAPA 12 – TRANSACCIONES DE LA DEUDA PUBLICA 1202 – Amortizaciones de deuda pública 120201-Amortizaciones de deuda pública 23 Aplicaciones Financieras 769 – Disminución De Otras Cuentas A Pagar A L… No Aplica No Aplica 99 – DEUDA MUNICICPAL 0 – SIN SUB PROGRAMA 0 – SIN PPROYECTO 3 – INTRODUCCION ENERGIA ELECTRICA ALDEA GUACA… Q.15,000.00 Q.15,000.00 NaN Q.15,000.00
674134 2011 Municipal ZACAPA ZACAPA ZACAPA 12 – TRANSACCIONES DE LA DEUDA PUBLICA 1202 – Amortizaciones de deuda pública 120201-Amortizaciones de deuda pública 23 Aplicaciones Financieras 769 – Disminución De Otras Cuentas A Pagar A L… No Aplica No Aplica 99 – DEUDA MUNICICPAL 0 – SIN SUB PROGRAMA 0 – SIN PPROYECTO 4 – AMORTIZACION DEUDA DEL PROYECTO AMPLIACION… Q.- Q.18,534.00 NaN Q.18,533.57

674135 rows × 21 columns

In [15]:
# Una grafica bastante inutil, ¿porque?

muni_data.plot()
Out[15]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f076e6ab7f0>
In [16]:
# Veamos los datos, limitamos a solo los primeros 5 filas.

muni_data.head(5)
Out[16]:
ANNO ADMINISTRACIÓN MUNICIPIO DEPTO MUN FUNC1 FUNC2 FUNC3 ECON1 ECON2 ORIGEN2 ORIGEN3 PROGRAMA1 PROGRAMA2 PROYECTO1 PROYECTO2 APROBADO RETRASADO EJECUTADO PAGADO
0 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.137,400.00 Q.137,400.00 Q.137,400.00
1 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
2 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-
3 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica Q.240,000.00 Q.49,588.00 Q.49,588.00 Q.49,588.00
4 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica Q.- Q.- Q.- Q.-

5 rows × 21 columns

In [17]:
## La columna 'APROBADO' se ve un poco sospechosa.
## Python toma a los numeros como números, no con una Q ni un punto (si no lo tiene) ni comas innecesarias. 
## Veamos mas a detalle.

muni_data['APROBADO'].head()
Out[17]:
0            Q.-   
1            Q.-   
2            Q.-   
3     Q.240,000.00 
4            Q.-   
Name: APROBADO, dtype: object
In [110]:
# Vamos a ignorar esto por un momento, pero los números de verdad son de tipo float

Veamos cuantas columnas son, podemos explorar un poco mas asi.

In [65]:
muni_data.columns
Out[65]:
Index(['ANNO', 'ADMINISTRACIÓN', 'MUNICIPIO', 'DEPTO', 'MUN', 'FUNC1', 'FUNC2',
       'FUNC3', 'ECON1', 'ECON2', 'ORIGEN1', 'ORIGEN2', 'ORIGEN3', 'PROGRAMA1',
       'PROGRAMA2', 'PROYECTO1', 'PROYECTO2', 'APROBADO', 'RETRASADO',
       'EJECUTADO', 'PAGADO'],
      dtype='object')
In [19]:
muni_data['MUNICIPIO'].unique()[:5] # Listame 5 municipios
Out[19]:
array(['SACATEPEQUEZ', 'GUATEMALA', 'JUTIAPA', 'SAN MARCOS', 'ZACAPA'], dtype=object)
In [67]:
print("Funcion 1: \n {func1} \n Funcion 2: \n {func2} \n Funcion 3: \n{func3}".format(
        func1=muni_data["FUNC1"].unique(), 
        func2=muni_data["FUNC2"].unique(),
        func3=muni_data["FUNC3"].unique()
        )
     )
Funcion 1: 
 ['1 - ADMINISTRACION GENERAL' '3 - SERVICIOS SOCIALES'
 '2 - DEFENSA Y SEGURIDAD INTERNA' 'Sin Finalidad'
 '4 - SERVICIOS ECONOMICOS' '5 - DEUDA PUBLICA'
 '6 - OTROS NO CLASIFICABLES' '01 - SERVICIOS PUBLICOS GENERALES'
 '08 - SALUD' '07 - URBANIZACION Y SERVICIOS COMUNITARIOS'
 '05 - ASUNTOS ECONOMICOS' '06 - PROTECCION AMBIENTAL' '10 - EDUCACION'
 '12 - TRANSACCIONES DE LA DEUDA PUBLICA'
 '03 - ORDEN PUBLICO Y SEGURIDAD CIUDADANA'
 '09 - ACTIVIDADES DEPORTIVAS, RECREATIVAS, CULTURA Y RELIGION'
 '11 - PROTECCION SOCIAL' '04 - ATENCION A DESASTRES Y GESTION DE RIESGOS'
 '02 - DEFENSA'] 
 Funcion 2: 
 ['109 - OTRAS ACTIVIDADES DE ADMINISTRACION' '306-AGUA Y SANEAMIENTO'
 '309-MEDIO AMBIENTE' '303-EDUCACION' '202-SEGURIDAD INTERNA'
 '304-CULTURA Y DEPORTES' '301-SALUD Y ASISTENCIA SOCIAL' 'Sin Funcion'
 '404-TRANSPORTE' '405-INDUSTRIA  Y  COMERCIO'
 '409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS'
 '106-ADMINISTRACION FISCAL' '406-TURISMO'
 '310-OTRAS ACTIVIDADES DE SERVICIOS SOCIALES' '402-ENERGIA'
 '403-COMUNICACIONES' '302-TRABAJO Y PREVISION SOCIAL'
 '107-AUDITORIA Y CONTROL' '501-INTERESES, COMISIONES Y OTROS GASTOS'
 '201-DEFENSA' '601-AMORTIZACION DE DEUDA' '407-AGROPECUARIO'
 '101-LEGISLATIVA' '307-VIVIENDA' '308-DESARROLLO URBANO Y RURAL'
 '401-MINERIA E HIDROCARBUROS' '408-FINANCIERAS Y SEGUROS'
 '602-DISMINUCION DE OTROS PASIVOS' '603-OTROS GASTOS'
 '103-DIRECCION GUBERNAMENTAL' '108-SERVICIOS GENERALES'
 '104-RELACIONES INTERIORES' '102-JUDICIAL' '305-CIENCIA Y TECNOLOGIA'
 '105-RELACIONES EXTERIORES'
 '0101 - Administracion legislative, ejecutiva y asuntos exteriores'
 '0803 - Servicios hospitalarios' '0703 - Abastecimiento de agua'
 '0502 - Agricultura, produccion pecuaria, silvicultura, caza y pesca'
 '0505 - Transporte' '0602 - Ordenación de aguas residuales'
 '0702 - Desarrollo comunitario' '1002 - Educación media'
 '1001 - Educación preprimaria y primaria'
 '0805 - Investigación y desarrollo relacionados con la Salud'
 '0503 - Combustibles y energia'
 '1201 - Intereses y comisiones de la deuda pública'
 '1202 - Amortizaciones de deuda pública'
 '0102 - Administracion fiscal, monetaria y servicios de fiscalizacion'
 '0501 - Asuntos económicos y comerciales en general'
 '0104 - Servicios generales' '0107 - Servicios públicos generales n.c.d'
 '0302 - Administración de justicia'
 '0301 - Servicios de policía y seguridad ciudadana'
 '0901 - Servicios deportivos y de recreación '
 '0906 - Actividades deportivas, recreativas, cultura y religión n.c.d. (SC)'
 '0705 - Investigación y desarrollo relacionados con urbanización y servicios comunitarios'
 '0106 - Investigación y desarrollo relacionados con los servicios públicos generales'
 '0606 - Protección ambiental n.c.d' '0601 - Ordenación de desechos'
 '1104 - Familia e hijos' '0704 - Alumbrado público' '1102 - Edad avanzada'
 '0902 - Servicios culturales (SI)' '0806 - Salud n.c.d'
 '0804 - Servicios de salud pública' '0701 - Urbanizacion'
 '0507 - Otras actividades economicas y financieras'
 '0303 - Defensoría pública penal y de los derechos humanos'
 '1005 - Educación no atribuible a ningún nivel escolarizado'
 '0105 - Investigación básica'
 '0604 - Protección de la diversidad biológica y del paisaje'
 '0404 - Atención a Desastres  y Gestión de Riesgos n.c.d'
 '0401 - Servicios de prevención y control de incendios, y servicios de rescate y auxilio'
 '1007 - Investigación y desarrollo relacionados con la educación'
 '1008 - Educación n.c.d' '0603 - Reducción de la contaminación'
 '0402 - Gestión prospectiva de riesgos a desastres'
 '0706 - Urbanización y servicios comunitarios n.c.d' '1106 - Vivienda'
 '0504 - Mineria, manufacturas y construccion' '0201 - Defensa militar'
 '0802 - Servicios para paciente externos'
 '1003 - Educación postmedia básica y diversificada no universitaria o superior'
 '0903 - Servicios de radio y televisión y servicios editoriales (SC)'
 '0605 - Investigación y desarrollo relacionados con la protección ambiental'
 '1004 - Educación universitaria o superior'
 '0103 - Ayuda economica exterior' '1109 - Protección social n.c.d'
 '0506 - Comunicaciones' '0801 - Productos, utiles y equipos medicos'
 '0509 - Asuntos económicos n.c.d'
 '0307 - Orden público y seguridad ciudadana  n.c.d' '0202 - Defensa civil'
 '0904 - Servicios religiosos y otros servicios comunitarios (SC)'
 '1006 - Servicios auxiliares de la educación '
 '0905 - Investigación y desarrollo relacionados con el esparcimiento, cultura y  religión'
 '1107 - Otros riesgos de exclusión social'
 '1101 - Enfermedad, funcionamiento corporal y discapacidad'
 '0403 - Investigación y desarrollo relacionados con la  Atención a Desastres  y Gestión de Riesgos'
 '1103 - Sobrevivientes (pensionados)' '0205 - Defensa n.c.d.'
 '0508 - Investigación y desarrollo relacionados con asuntos económicos'
 '1105 - Desempleo'
 '0306 - Investigación y desarrollo relacionados con el orden público y seguridad ciudadana'
 '0304 - Administración de asuntos penitenciarios'] 
 Funcion 3: 
['Sin Division' '010102-Ejecutiva'
 '080303-Servicios médicos y de centros de maternidad'
 '070301-Abastecimiento de agua' '050204-Producción pecuaria (SC)'
 '050501-Transporte por carretera' '060201-Ordenación de aguas residuales'
 '070201-Desarrollo comunitario' '100201-Educación básica'
 '100102-Educación primaria' '100103-Alfabetización'
 '080501-Investigación y desarrollo relacionados con la Salud'
 '050306-Electricidad' '120101-Intereses y comisiones de la deuda pública'
 '120201-Amortizaciones de deuda pública' '010101-Legislativa'
 '010201-Asuntos fiscales' '050103-Asuntos laborales generales'
 '010402-Servicios generales de planificación'
 '010203-Servicios de fiscalización' '010404-Otros servicios generales'
 '010701-Servicios públicos generales n.c.d' '050202-Silvicultura'
 '050101-Asuntos económicos y comerciales en general'
 '030201-Administración de justicia'
 '030101-Servicios de policía y seguridad ciudadana'
 '100101-Educación preprimaria' '100202-Educación diversificada'
 '090101-Servicios deportivos (SI)'
 '090601-Actividades deportivas, recreativas, cultura y religión n.c.d. (SC)'
 '070501-Investigación y desarrollo relacionados con urbanización y servicios comunitarios'
 '010601-Investigación y desarrollo relacionados con los servicios públicos generales'
 '060601-Protección ambiental n.c.d' '060101-Ordenación de desechos'
 '110401-Familia e hijos' '070401-Alumbrado público' '110201-Edad avanzada'
 '090201-Servicios culturales (SI)' '050302-Petróleo y gas natural'
 '080601-Salud n.c.d' '080401-Servicios de salud pública'
 '090102-Servicios de recreación (SI)' '070101-Urbanizacion'
 '010401-Administración general del recurso humano'
 '050701-Comercio, distribución, almacenamiento y depósito'
 '030301-Defensoría pública penal'
 '100501-Educación no atribuible a ningún nivel escolarizado'
 '010501-Investigación básica'
 '050505-Transporte por oleoductos y gasoductos' '050201-Agricultura'
 '060401-Protección de la diversidad biológica y del paisaje'
 '080301-Servicios hospitalarios generales'
 '040401-Atención a Desastres  y Gestión de Riesgos n.c.d'
 '040101-Servicios de prevención y control de incendios, y servicios de rescate y auxilio'
 '100701-Investigación y desarrollo relacionados con la educación'
 '100801-Educación n.c.d' '010202-Asuntos monetarios'
 '060301-Reducción de la contaminación'
 '040201-Gestión prospectiva de riesgos a desastres'
 '070601-Urbanización y servicios comunitarios n.c.d' '110601-Vivienda'
 '050402-Manufacturas' '020101-Defensa militar'
 '010403-Servicios generales de estadística'
 '080201-Servicios médicos generales'
 '100301-Educación postmedia básica y diversificada no universitaria o superior'
 '090301-Servicios de radio y televisión y servicios editoriales (SC)'
 '060501-Investigación y desarrollo relacionados con la protección ambiental'
 '100401-Primera etapa de la educación universitaria o superior'
 '010301-Ayuda económica a los países en desarrollo y en transición'
 '050506-Otros sistemas de transporte'
 '040202-Gestión correctiva o compensatoria de desastres'
 '110901-Protección social n.c.d' '050601-Comunicaciones'
 '080101-Productos farmacéuticos' '010103-Asuntos exteriores'
 '080302- Servicios hospitalarios especializados' '050403-Construcción'
 '050102-Supervisión financiera' '050901-Asuntos económicos n.c.d'
 '030701-Orden público y seguridad ciudadana  n.c.d' '020201-Defensa civil'
 '050707-Proyectos de desarrollo polivalentes'
 '090401-Servicios religiosos y otros servicios comunitarios (SC)'
 '080202-Servicios médicos especializados' '080204-Servicios paramédicos'
 '100601-Servicios auxiliares de la educación preprimaria y primaria'
 '080103-Aparatos y equipos terapéuticos'
 '090501-Investigación y desarrollo relacionados con el esparcimiento, cultura y  religión'
 '080102-Otros productos médicos'
 '050401-Extracción de recursos minerales excepto los combustibles minerales'
 '110701-Otros riesgos de exclusión social'
 '100603-Servicios auxiliares de la educación postmedia básica y diversificada no universitaria o superior'
 '050502-Transporte por agua'
 '050301-Carbón y otros combustibles minerales sólidos' '110101-Enfermedad'
 '080203-Servicios odontológicos'
 '040301-Investigación y desarrollo relacionados con la  Atención a Desastres  y Gestión de Riesgos'
 '110901-Investigación y desarrollo relacionados con la Protección Social'
 '100402-Segunda etapa de la educación universitaria o superior'
 '050203-Caza y pesca' '050303-Combustibles nucleares'
 '050307-Energía no eléctrica' '050704-Intermediación financiera'
 '110301-Sobrevivientes (pensionados)' '050305-Otros combustibles'
 '020501-Defensa n.c.d.'
 '080304-Servicios de salud y residencias a personas de la tercera edad y residencias de convalecencia'
 '050702-Hoteles y restaurantes' '050703-Turismo'
 '050801-Investigación y desarrollo relacionados con asuntos económicos, comerciales y laborales en general'
 '030302-Defensoría de los derechos humanos' '110501-Desempleo'
 '050805-Investigación y desarrollo relacionados con el transporte'
 '050803-Investigación y desarrollo relacionados con combustibles y energía'
 '110102-Funcionamiento corporal y discapacidad' '050706-Seguros y fianzas'
 '050504-Transporte aéreo'
 '030601-Investigación y desarrollo relacionados con el orden público y seguridad ciudadana'
 '050503-Transporte por ferrocarril'
 '030401-Administración de asuntos penitenciarios'
 '100602-Servicios auxiliares de la educación media'
 '100604-Servicios auxiliares de la educación universitaria o superior'
 '010302-Ayuda económica prestada a través de organismos internacionales'
 '050802-Investigación y desarrollo relacionados con agricultura, producción pecuaria, silvicultura, caza y p']

Vamos a explorar un poco con indices y etiquetas:

In [27]:
index_geo_data = muni_data.set_index("DEPTO","MUNICIPIO").sort_index()
In [30]:
index_geo_data.loc[
                    ["GUATEMALA","ESCUINTLA","SACATEPEQUEZ"],
                    ['FUNC1','FUNC2','FUNC3','APROBADO','EJECUTADO']
                  ].head()
Out[30]:
FUNC1 FUNC2 FUNC3 APROBADO EJECUTADO
DEPTO
GUATEMALA 01 – SERVICIOS PUBLICOS GENERALES 0101 – Administracion legislative, ejecutiva y… 010102-Ejecutiva Q.34,180.00 NaN
GUATEMALA 01 – SERVICIOS PUBLICOS GENERALES 0101 – Administracion legislative, ejecutiva y… 010102-Ejecutiva Q.42,000.00 NaN
GUATEMALA 01 – SERVICIOS PUBLICOS GENERALES 0101 – Administracion legislative, ejecutiva y… 010102-Ejecutiva Q.42,000.00 NaN
GUATEMALA 01 – SERVICIOS PUBLICOS GENERALES 0101 – Administracion legislative, ejecutiva y… 010102-Ejecutiva Q.320,000.00 NaN
GUATEMALA 01 – SERVICIOS PUBLICOS GENERALES 0101 – Administracion legislative, ejecutiva y… 010102-Ejecutiva Q.1,000.00 NaN

Ahora que podemos realizar selección basica, pensamos, que podemos hacer con estos datos, y nos enfrentamos a un problema…

In [31]:
muni_data['APROBADO'][3] * 2
Out[31]:
' Q.240,000.00  Q.240,000.00 '

¡Rayos! porque no puedo manipular estos datos así como los otros, y es porque son de tipo texto y no números.

In [71]:
# muni_data['APROBADO'].sum() ## No correr, falla...

Necesitamos crear una funcion para limpiar estos tipos de dato que son texto, para poderlos convertir a numeros de tipo punto flotante (decimales).

In [33]:
## Esto es una funcion en Python, con def definimos el nombre de esta funcion, 'clean_q'
## esta recibe un objeto de entrada.

def clean_q(input_object):
    from re import sub  ## importamos la función sub, que substituye utilizando patrones
    ## https://es.wikipedia.org/wiki/Expresión_regular
    
    ## NaN es un objeto especial que representa un valor numérico invalido, Not A Number.
    if input_object == NaN:
        return 0
    inp = unicode(input_object) # De objeto a un texto
    cleansed_q = sub(r'Q\.','', inp) # Remueve Q., el slash evita que . sea interpretado como un caracter especial
    cleansed_00 = sub(r'\.00', '', cleansed_q) # Igual aqui
    cleansed_comma = sub(',', '', cleansed_00)
    cleansed_dash = sub('-', '', cleansed_comma)
    cleansed_nonchar = sub(r'[^0-9]+', '', cleansed_dash)
    if cleansed_nonchar == '':
        return 0
    return cleansed_nonchar
In [34]:
presupuesto_aprobado = muni_data['APROBADO'].map(clean_q).astype(float)
In [35]:
presupuesto_aprobado.describe()
Out[35]:
count    6.74135e+05
mean     3.64625e+05
std      8.43016e+06
min      0.00000e+00
25%      0.00000e+00
50%      1.00000e+03
75%      1.50000e+04
max      1.43719e+09
Name: APROBADO, dtype: float64
In [36]:
muni_data['EJECUTADO'].head()
Out[36]:
0     Q.137,400.00 
1            Q.-   
2            Q.-   
3      Q.49,588.00 
4            Q.-   
Name: EJECUTADO, dtype: object
In [37]:
muni_data['FUNC1'].str.upper().value_counts()
Out[37]:
1 - ADMINISTRACION GENERAL                                      150541
01 - SERVICIOS PUBLICOS GENERALES                               107911
SIN FINALIDAD                                                   100862
3 - SERVICIOS SOCIALES                                           96451
4 - SERVICIOS ECONOMICOS                                         65763
07 - URBANIZACION Y SERVICIOS COMUNITARIOS                       40349
05 - ASUNTOS ECONOMICOS                                          38126
10 - EDUCACION                                                   18584
06 - PROTECCION AMBIENTAL                                        17359
09 - ACTIVIDADES DEPORTIVAS, RECREATIVAS, CULTURA Y RELIGION     11929
03 - ORDEN PUBLICO Y SEGURIDAD CIUDADANA                          7137
08 - SALUD                                                        5707
12 - TRANSACCIONES DE LA DEUDA PUBLICA                            3470
11 - PROTECCION SOCIAL                                            3338
6 - OTROS NO CLASIFICABLES                                        2565
2 - DEFENSA Y SEGURIDAD INTERNA                                   1662
04 - ATENCION A DESASTRES Y GESTION DE RIESGOS                    1179
5 - DEUDA PUBLICA                                                 1073
02 - DEFENSA                                                       129
Name: FUNC1, dtype: int64
In [77]:
presupuesto_aprobado.plot()
Out[77]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f7e5ff55860>

Bueno, ahora ya tenemos estas series de datos convertidas. ¿como las volvemos a agregar al dataset? ¡Facil! lo volvemos a insertar al DataFrame original, sobreescribiendo esa columna.

In [38]:
for col in ('APROBADO', 'RETRASADO', 'EJECUTADO', 'PAGADO'):
    muni_data[col] = muni_data[col].map(clean_q).astype(float)
In [39]:
muni_data['APROBADO'].sum()
Out[39]:
245806713741.0
In [40]:
muni_data.head()
Out[40]:
ANNO ADMINISTRACIÓN MUNICIPIO DEPTO MUN FUNC1 FUNC2 FUNC3 ECON1 ECON2 ORIGEN2 ORIGEN3 PROGRAMA1 PROGRAMA2 PROYECTO1 PROYECTO2 APROBADO RETRASADO EJECUTADO PAGADO
0 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 137400.0 137400.0 137400.0
1 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 0.0 0.0 0.0
2 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 0.0 0.0 0.0
3 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 240000.0 49588.0 49588.0 49588.0
4 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 0.0 0.0 0.0

5 rows × 21 columns

In [81]:
muni_data['ECON1'].unique()
Out[81]:
array(['21 Gastos Corrientes', '22 Gastos de Capital',
       '23 Aplicaciones Financieras'], dtype=object)

Ahora si, ¡ya podemos agrupar y hacer indices bien!

In [41]:
index_geo_data = muni_data.set_index("DEPTO","MUNICIPIO").sort_index()
In [42]:
index_geo_data.head(40)
Out[42]:
ANNO ADMINISTRACIÓN MUNICIPIO MUN FUNC1 FUNC2 FUNC3 ECON1 ECON2 ORIGEN1 ORIGEN2 ORIGEN3 PROGRAMA1 PROGRAMA2 PROYECTO1 PROYECTO2 APROBADO RETRASADO EJECUTADO PAGADO
DEPTO
ALTA VERAPAZ 2011 Municipal CAHABON CAHABON 01 – SERVICIOS PUBLICOS GENERALES 0101 – Administracion legislative, ejecutiva y… 010101-Legislativa 21 Gastos Corrientes 062 – Dietas Para Cargos Representativos No Aplica No Aplica No Aplica 1 – ACTIVIDADES CENTRALES 0 – SIN SUB PROGRAMA 0 – SIN PPROYECTO 1 – CONCEJO MUNICIPAL 169600.0 169600.0 0.0 16798750.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 10450.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 301-SALUD Y ASISTENCIA SOCIAL Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 4520.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 301-SALUD Y ASISTENCIA SOCIAL Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 1020.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 301-SALUD Y ASISTENCIA SOCIAL Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 5792.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 301-SALUD Y ASISTENCIA SOCIAL Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 1002062.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 301-SALUD Y ASISTENCIA SOCIAL Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 17122.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 20215.0 20215.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 74690.0 14965.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 18000.0 18000.0 1254260.0 1254260.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 86006.0 86006.0 86006.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 402-ENERGIA Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 6790.0 6790.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 90000.0 3344064.0 31119.0 31119.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 34225.0 34225.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 225716.0 225716.0 225716.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 30000.0 30000.0 30000.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 306-AGUA Y SANEAMIENTO Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 142960.0 14689711.0 14689711.0 14689711.0
ALTA VERAPAZ 2009 Municipal CHISEC CHISEC 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 22 Gastos de Capital 274 – Cemento 30 Recursos Propios De Las Instituciones 32 Dismin Caja Y Bancos Entidades Descentraliz… No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 6930.0 6930.0 6930.0
ALTA VERAPAZ 2009 Municipal CHISEC CHISEC 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 22 Gastos de Capital 274 – Cemento 30 Recursos Propios De Las Instituciones 32 Dismin Caja Y Bancos Entidades Descentraliz… No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 6930.0 6930.0 6930.0
ALTA VERAPAZ 2009 Municipal CHISEC CHISEC 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 22 Gastos de Capital 274 – Cemento 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 17360.0 17360.0 17360.0
ALTA VERAPAZ 2009 Municipal CHISEC CHISEC 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 22 Gastos de Capital 274 – Cemento 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 1830.0 1830.0 1830.0
ALTA VERAPAZ 2009 Municipal CHISEC CHISEC 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 22 Gastos de Capital 274 – Cemento 20 Recursos Del Tesoro Con Afectación Especifica 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica 50000.0 114525.0 114525.0 114525.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 303-EDUCACION Sin Division 22 Gastos de Capital 332 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 107250.0 110061.0 110061.0 110061.0
ALTA VERAPAZ 2009 Municipal CHISEC CHISEC 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 22 Gastos de Capital 274 – Cemento 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 40978.0 40978.0 40978.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 303-EDUCACION Sin Division 22 Gastos de Capital 332 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 15128612.0 137539.0 137539.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 303-EDUCACION Sin Division 22 Gastos de Capital 332 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 94374.0 94374.0 94374.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica 1000000.0 4997703.0 49029.0 49029.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica 98130.0 98130.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 197305.0 5874280.0 5874280.0 5874280.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 264085.0 82105.0 5933880.0 5933880.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 171 – Mantenimiento Y Reparación De Edificios 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 0.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 51060.0 51810.0 51809.0 51809.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 622320.0 622320.0 41598604.0 41598604.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 84729875.0 581251.0 581251.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 803365.0 803365.0 723122.0 723122.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 42256696.0 42256696.0 42256696.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 4 – SERVICIOS ECONOMICOS 409-OTRAS ACTIVIDADES DE SERVICIOS ECONOMICOS Sin Division 22 Gastos de Capital 331 – Construcciones De Bienes Nacionales De U… 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 229250.0 229250.0 2664521.0 2664521.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 303-EDUCACION Sin Division 22 Gastos de Capital 022 – Personal Por Contrato 20 Recursos Del Tesoro Con Afectación Especifica 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 15000.0 14181.0 14181.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 303-EDUCACION Sin Division 22 Gastos de Capital 332 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 20.0 0.0 0.0
ALTA VERAPAZ 2009 Municipal CHAHAL CHAHAL 3 – SERVICIOS SOCIALES 303-EDUCACION Sin Division 22 Gastos de Capital 332 – Construcciones De Bienes Nacionales De U… 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 8219.0 0.0 0.0
In [44]:
mi_muni_d = muni_data.set_index(["ANNO"],["DEPTO","MUNICIPIO"],["FUNC1","ECON1","ORIGEN1"]).sort_index()
In [45]:
mi_muni_d.head()
Out[45]:
ADMINISTRACIÓN MUNICIPIO DEPTO MUN FUNC1 FUNC2 FUNC3 ECON1 ECON2 ORIGEN1 ORIGEN2 ORIGEN3 PROGRAMA1 PROGRAMA2 PROYECTO1 PROYECTO2 APROBADO RETRASADO EJECUTADO PAGADO
ANNO
0 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 137400.0 137400.0 137400.0
1 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 20 Recursos Del Tesoro Con Afectación Especifica 21 Ingresos Tributarios Iva Paz No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 0.0 0.0 0.0
2 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 20 Recursos Del Tesoro Con Afectación Especifica 22 Ingresos Ordinarios De Aporte Constitucional No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 0.0 0.0 0.0
3 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 30 Recursos Propios De Las Instituciones 31 Ingresos Propios No Aplica No Aplica No Aplica No Aplica No Aplica 240000.0 49588.0 49588.0 49588.0
4 2008 Municipal ALOTENANGO SACATEPEQUEZ ALOTENANGO 1 – ADMINISTRACION GENERAL 109 – OTRAS ACTIVIDADES DE ADMINISTRACION Sin Division 21 Gastos Corrientes 011 – Personal Permanente 40 Credito Interno 42 Préstamos Internos No Aplica No Aplica No Aplica No Aplica No Aplica 0.0 0.0 0.0 0.0
In [85]:
## Para obtener mas ayuda, ejecuta:
# help(mi_muni_d)
In [46]:
mi_muni_d.columns
Out[46]:
Index(['ADMINISTRACIÓN', 'MUNICIPIO', 'DEPTO', 'MUN', 'FUNC1', 'FUNC2',
       'FUNC3', 'ECON1', 'ECON2', 'ORIGEN1', 'ORIGEN2', 'ORIGEN3', 'PROGRAMA1',
       'PROGRAMA2', 'PROYECTO1', 'PROYECTO2', 'APROBADO', 'RETRASADO',
       'EJECUTADO', 'PAGADO'],
      dtype='object')
In [47]:
mi_muni_d["DEPTO"].describe()
Out[47]:
count        674135
unique           22
top       GUATEMALA
freq          55520
Name: DEPTO, dtype: object
In [48]:
year_grouped = mi_muni_d.groupby("ANNO").sum()
In [49]:
year_grouped
Out[49]:
APROBADO RETRASADO EJECUTADO PAGADO
ANNO
2008 2.68353e+10 2.45634e+11 4.14921e+11 4.12270e+11
2009 5.31561e+10 2.99390e+11 4.81259e+11 4.77409e+11
2010 7.32193e+10 3.28068e+11 0.00000e+00 5.26614e+11
2011 9.25959e+10 3.39514e+11 0.00000e+00 5.42302e+11
In [50]:
year_dep_grouped = mi_muni_d.groupby(["ANNO","DEPTO"]).sum()
year_dep_grouped.head()

sns.set(style="whitegrid")

# Draw a nested barplot to show survival for class and sex
g = sns.factorplot( data=year_dep_grouped,
                   size=6, kind="bar", palette="muted")
# g.despine(left=True)
g.set_ylabels("cantidad")
Out[50]:
<seaborn.axisgrid.FacetGrid at 0x7f076e5f5fd0>
In [91]:
year_dep_grouped.head()
Out[91]:
APROBADO RETRASADO EJECUTADO PAGADO
ANNO DEPTO
2008 ALTA VERAPAZ 2.78291e+09 1.46371e+10 1.63018e+10 1.61846e+10
BAJA VERAPAZ 6.13609e+08 6.77458e+09 6.57817e+09 6.56299e+09
CHIMALTENANGO 9.42927e+08 8.63124e+09 1.30331e+10 1.30252e+10
CHIQUIMULA 5.74758e+08 7.30016e+09 7.62139e+09 7.59232e+09
EL PROGRESO 3.53643e+08 5.29144e+09 7.06977e+09 7.03881e+09

Contestando preguntas

Ahora ya podemos contestar algunas clases de preguntas agrupando estas entradas individuales de de datos.
¿Que tal el departamento que tiene mas gasto en Seguridad? ¿Los tipos de gasto mas elevados como suelen ser pagados?

In [92]:
year_grouped.plot()
Out[92]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f7e5fe45a90>
In [51]:
year_dep_group = mi_muni_d.groupby(["DEPTO","ANNO"]).sum()
In [94]:
year_dep_group.unstack().head()
Out[94]:
APROBADO RETRASADO EJECUTADO PAGADO
ANNO 2008 2009 2010 2011 2008 2009 2010 2011 2008 2009 2010 2011 2008 2009 2010 2011
DEPTO
ALTA VERAPAZ 2.78291e+09 5.64744e+09 1.95357e+10 2.12952e+10 1.46371e+10 2.09176e+10 3.22332e+10 3.77961e+10 1.63018e+10 2.18337e+10 0.0 0.0 1.61846e+10 2.15977e+10 2.06492e+10 2.38565e+10
BAJA VERAPAZ 6.13609e+08 1.93412e+09 1.55609e+09 3.10721e+09 6.77458e+09 7.40240e+09 9.37046e+09 1.15378e+10 6.57817e+09 7.00557e+09 0.0 0.0 6.56299e+09 6.97541e+09 8.10811e+09 1.04986e+10
CHIMALTENANGO 9.42927e+08 2.36969e+09 2.95906e+09 2.63505e+09 8.63124e+09 9.65804e+09 9.83285e+09 8.07592e+09 1.30331e+10 1.19265e+10 0.0 0.0 1.30252e+10 1.17757e+10 1.27430e+10 1.25867e+10
CHIQUIMULA 5.74758e+08 7.94670e+08 2.40722e+09 3.12491e+09 7.30016e+09 7.01026e+09 9.74311e+09 8.95407e+09 7.62139e+09 7.77514e+09 0.0 0.0 7.59232e+09 7.68196e+09 9.47250e+09 9.48921e+09
EL PROGRESO 3.53643e+08 9.42015e+08 1.98337e+09 2.09171e+09 5.29144e+09 6.41684e+09 6.02155e+09 6.51524e+09 7.06977e+09 7.01621e+09 0.0 0.0 7.03881e+09 6.94013e+09 8.77785e+09 8.27554e+09
In [52]:
func_p = mi_muni_d.groupby(["FUNC1"]).sum()
func_dep = mi_muni_d.groupby(["FUNC1","DEPTO"]).sum()
func_p
Out[52]:
APROBADO RETRASADO EJECUTADO PAGADO
FUNC1
01 – SERVICIOS PUBLICOS GENERALES 2.12896e+10 9.39864e+10 0.00000e+00 1.46451e+11
02 – DEFENSA 7.65149e+06 4.85768e+07 0.00000e+00 1.15252e+08
03 – ORDEN PUBLICO Y SEGURIDAD CIUDADANA 1.54112e+09 4.62692e+09 0.00000e+00 9.71618e+09
04 – ATENCION A DESASTRES Y GESTION DE RIESGOS 2.02693e+08 1.46343e+09 0.00000e+00 1.90633e+09
05 – ASUNTOS ECONOMICOS 3.53597e+10 1.16573e+11 0.00000e+00 1.08795e+11
06 – PROTECCION AMBIENTAL 6.82913e+09 2.43591e+10 0.00000e+00 3.15289e+10
07 – URBANIZACION Y SERVICIOS COMUNITARIOS 2.35510e+10 9.90229e+10 0.00000e+00 1.12771e+11
08 – SALUD 1.79933e+09 6.12886e+09 0.00000e+00 7.90331e+09
09 – ACTIVIDADES DEPORTIVAS, RECREATIVAS, CULTURA Y RELIGION 2.02757e+09 1.08670e+10 0.00000e+00 1.33765e+10
1 – ADMINISTRACION GENERAL 2.22609e+10 1.53756e+11 2.87329e+11 2.86671e+11
10 – EDUCACION 7.38670e+09 2.92963e+10 0.00000e+00 3.05241e+10
11 – PROTECCION SOCIAL 6.06386e+08 7.10021e+09 0.00000e+00 1.26944e+10
12 – TRANSACCIONES DE LA DEUDA PUBLICA 1.94713e+10 6.97031e+10 0.00000e+00 8.69565e+10
2 – DEFENSA Y SEGURIDAD INTERNA 2.69279e+08 1.41168e+09 1.11557e+10 1.11701e+10
3 – SERVICIOS SOCIALES 2.46567e+10 1.48437e+11 2.16065e+11 2.13887e+11
4 – SERVICIOS ECONOMICOS 2.27707e+10 1.67108e+11 2.47066e+11 2.43517e+11
5 – DEUDA PUBLICA 2.54276e+09 1.80157e+10 2.89121e+10 2.89121e+10
6 – OTROS NO CLASIFICABLES 6.22515e+09 4.34632e+10 9.32827e+10 9.31423e+10
Sin Finalidad 4.70091e+10 2.17238e+11 1.23702e+10 5.18558e+11
In [97]:
func_dep_flat = func_dep.unstack()
In [98]:
func_dep_flat.head()
Out[98]:
APROBADO PAGADO
DEPTO ALTA VERAPAZ BAJA VERAPAZ CHIMALTENANGO CHIQUIMULA EL PROGRESO ESCUINTLA GUATEMALA HUEHUETENANGO IZABAL JALAPA QUETZALTENANGO QUICHE RETALHULEU SACATEPEQUEZ SAN MARCOS SANTA ROSA SOLOLA SUCHITEPEQUEZ TOTONICAPAN ZACAPA
FUNC1
01 – SERVICIOS PUBLICOS GENERALES 2.65028e+09 5.44695e+08 6.02520e+08 1.45687e+09 5.06434e+08 1.82266e+09 4.99280e+09 1.26883e+09 1.95440e+08 4.06992e+08 5.56908e+09 3.55170e+09 3.88756e+09 1.42191e+10 6.86290e+09 5.26960e+09 5.25078e+09 3.65925e+09 1.48548e+09 7.83247e+09
02 – DEFENSA 0.00000e+00 4.18211e+06 NaN 1.25551e+06 NaN 8.25311e+05 0.00000e+00 NaN NaN 5.80000e+05 6.50000e+01 4.45000e+04 NaN NaN NaN 2.81500e+04 NaN NaN NaN 0.00000e+00
03 – ORDEN PUBLICO Y SEGURIDAD CIUDADANA 4.15592e+08 2.73807e+06 1.73070e+07 1.20563e+08 3.46200e+05 8.40011e+06 7.54022e+07 8.85087e+07 1.34582e+06 4.66579e+07 1.11593e+09 9.09038e+07 3.09004e+08 2.05695e+09 2.18261e+07 1.47161e+07 2.27009e+08 8.04501e+08 3.30255e+07 5.84190e+08
04 – ATENCION A DESASTRES Y GESTION DE RIESGOS 1.65910e+06 1.21105e+06 1.55504e+06 1.00000e+05 0.00000e+00 1.09773e+08 1.60380e+07 7.50000e+04 8.19824e+05 1.25000e+05 3.74758e+06 1.42707e+07 2.55000e+04 1.97266e+08 8.83148e+07 1.64157e+05 2.05584e+08 1.63782e+08 2.30420e+07 3.34638e+08
05 – ASUNTOS ECONOMICOS 2.18998e+10 9.96920e+08 8.61639e+08 5.23307e+08 7.35246e+07 1.12597e+09 6.27814e+08 3.92554e+09 4.30563e+08 9.99355e+07 9.02544e+09 5.93387e+09 3.12895e+09 5.35538e+09 5.26815e+09 1.59234e+09 4.55446e+09 2.28815e+09 1.23100e+09 1.34795e+09

5 rows × 88 columns

In [99]:
mi_muni_d.groupby(["DEPTO"]).sum()
Out[99]:
APROBADO RETRASADO EJECUTADO PAGADO
DEPTO
ALTA VERAPAZ 4.92612e+10 1.05584e+11 3.81355e+10 8.22879e+10
BAJA VERAPAZ 7.21103e+09 3.50852e+10 1.35837e+10 3.21451e+10
CHIMALTENANGO 8.90672e+09 3.61980e+10 2.49596e+10 5.01306e+10
CHIQUIMULA 6.90156e+09 3.30076e+10 1.53965e+10 3.42360e+10
EL PROGRESO 5.37074e+09 2.42451e+10 1.40860e+10 3.10323e+10
ESCUINTLA 1.20947e+10 7.26081e+10 5.14456e+10 1.03419e+11
GUATEMALA 5.68443e+10 2.15876e+11 3.21973e+11 7.58397e+11
HUEHUETENANGO 2.47259e+10 1.00322e+11 4.92594e+10 9.70342e+10
IZABAL 5.11757e+09 2.68013e+10 1.79282e+10 4.43529e+10
JALAPA 1.58871e+09 2.33997e+10 1.04539e+10 2.38595e+10
JUTIAPA 4.14766e+09 4.03333e+10 2.00108e+10 5.03091e+10
PETEN 3.45629e+09 4.68713e+10 3.39268e+10 6.44478e+10
QUETZALTENANGO 8.29197e+09 8.49271e+10 5.99876e+10 1.09478e+11
QUICHE 4.84704e+09 4.54015e+10 2.37022e+10 5.21949e+10
RETALHULEU 1.96498e+09 1.84727e+10 1.19464e+10 2.63670e+10
SACATEPEQUEZ 1.23032e+10 6.03496e+10 4.11457e+10 9.07820e+10
SAN MARCOS 1.09746e+10 7.05547e+10 4.79591e+10 9.71124e+10
SANTA ROSA 2.79451e+09 3.75883e+10 2.21405e+10 4.49575e+10
SOLOLA 1.40226e+09 4.53424e+10 2.22294e+10 5.03288e+10
SUCHITEPEQUEZ 1.02333e+10 4.30445e+10 3.06963e+10 5.61131e+10
TOTONICAPAN 2.71191e+09 2.21165e+10 1.12744e+10 2.26652e+10
ZACAPA 4.65654e+09 2.44776e+10 1.39398e+10 3.69447e+10
In [96]:
func_p.plot(kind="barh", figsize=(8,6), linewidth=2.5)
Out[96]:
<matplotlib.axes._subplots.AxesSubplot at 0x7f7e6d19ca20>

 

 

Puedes usar minería de texto y «Machine Learning» sin programación

- el enero 10, 2017 en Tutoriales

Esta API te permite obtener datos procesables y clasificables a partir de textos. Puedes entrenarla para que aprenda automáticamente (machine learning) a reconocer y clasificar en las categorías que tú establezcas.

A partir de un set de datos (que puede ser .csv, o .xls) puedes entrenar esta API para que trabaje para ti. En la interfaz web de MonkeyLearn puedes ir probando y entrenando para aplicar un modelo.  Debido a que es una API, esta plataforma es integrable con otros lenguajes de programación que te permitirán procesar los textos de tu fuente de datos a tiempo real y publicarlos.

Una de las ventajas de esta plataforma es que no tienes que ser programador o un experto en Machine Learning para empezar a usarla. La interfaz de usuario te irá dando pasos que deberás seguir para crear un modelo y cuando entiendas la manera en que funciona, podrás ir avanzando en su uso.

Esta herramienta aprende a base de clasificadores de texto, una categoría o etiqueta que se asigna automáticamente a una pieza de texto. Aunque el programa ya cuenta con unos clasificadores comunes, puedes crear los propios.

Con base en estas etiquetas, MonkeyLearn hará una clasificación al leer el contenido de tu set de datos. Por ejemplo, en una base de datos sobre proyectos de compras de una institución pública, esta herramienta te podría ayudar a reconocer los rubros de los fondos, o a clasificar qué tipo de productos se compraron y clasificarlos en base a una jerarquía establecida.

Al leer el texto, MonkeyLearn aplica los parámetros establecidos en los clasificadores de texto y te provee un resultado. El resultado se muestra en lenguaje JSON, para la API. La categorización del producto puede ser en varias categorías, por ejemplo Compras / Materiales de construcción / Asfalto. Aparte de esta clasificación, el programa también te provee un valor de probabilidad, el cual determina el nivel de certidumbre sobre la predicción realizada para que puedas mantener control sobre el rigor con el que tu modelo se aplica y la manera en que funciona.

Los módulos

Esta herramienta te permite tres funciones principales que indican el tipo de módulo que creas:

  1. Clasificación: Es un módulo que toma el texto y lo devuelve con etiquetas o categorías organizadas en algún tipo de jerarquía
  2. Extracción: Es el módulo que extrae ciertos datos dentro de un texto, que pueden ser entidades, nombres, direcciones, palabras clave, etc.
  3. Pipeline: Es el módulo que combina otros módulos, tanto de clasificación como de extracción, para que puedas construir un modelo más robusto con mayor nivel de procesamiento.

Las tres funciones principales de esta plataforma son:

    1. Análisis de sentimientos: Te permite detectar sentimientos (positivos, negativos, etc) en un texto a través de machine learning.
    2. Categorización de temas: Identifica el tema de un texto y lo reconoce.
  • Otras clasificaciones: Clasifica los contenidos de un texto y los asigna a una jerarquía.

Tutorial: Cómo crear un clasificador de textos a partir de una descripción

Para probar esta herramienta, vamos a crear un clasificador que lea un texto y lo asigne a una categoría y jerarquía establecida por nosotros. En este caso, trabajaré con los datos de las compras del estado de Guatemala. Aunque mi set de datos contiene mucha información, voy a trabajar solo con el campo “Descripción” que tiene contenidos como este: INTRODUCCION DE ENERGIA ELECTRICA, CASERIO PENIEL, TUCURU, A. V.

Para utilizar MonkeyLearn debes crear un usuario o vincularlo a tu cuenta de Github.
Al hacer click en +Create Module se te desplegarán las opciones para guardar tu primer clasificador.

image09

MonkeyLearn te va guiando paso a paso para que completes la información necesaria para crear un módulo. Al rellenar los datos de tu clasificador, da click en Next.image04

Responde a las preguntas que te hace sobre el tipo de trabajo que estás haciendo. En este caso, seleccionamos “otras clasificaciones”.

image11

Selecciona la opción que más se ajuste al tipo de texto que vas a analizar, pueden ser tweets (textos cortos con emoticones), noticias de diferentes medios, comentarios o reseñas de usuarios, descripciones de productos, emails, o texto personalizado. Debido a que estamos trabajando las compras del estado, vamos a seleccionar Product Descriptions. También es importante que señales el idioma en que está tu texto.

image01

Al crear tu módulo, se abrirá un panel con diferentes opciones. En Category Tree se enlistan las diferentes categorías de tu modelo. Para crear nuevas categorías, haz click en el menú a la par de Root y selecciona Add child. Al hacer esto, creas nuevas categorías “hijas”. En este caso crearemos “Agua potable” “Caminos y carreteras” “Energía eléctrica” “Agricultura” y cuantas secciones queramos tener. MonkeyLearn también permite añadir subcategorías dentro de las categorías.

image05

Para que nuestro modelo funcione, debemos entrenar cada categoría con ejemplos que le permitirán al programa reconocer automáticamente textos similares a los ejemplos que le dimos. Al hacer click en el menú desplegable a la par de cada categoría se muestra la opción Create sample, que te permite ingresar ejemplos.

image06

Para entrenar la categoría “Caminos y carreteras” vamos a añadir cuantos ejemplos podamos de descripciones que se ajusten a esta sección. Por ejemplo, “MEJORAMIENTO CALLE PAVIMENTADO Y ENCUNETADO…”. El agregar muchos ejemplos robustece la capacidad de que nuestro modelo identifique con mayor celeridad las categorías.

El panel principal de MonkeyLearn muestra las categorías en la sección Tree. Al hacer click en Samples, podemos ver los ejemplos que añadimos para cada categoría.

image00

 

Luego de añadir varios ejemplos a todas nuestras categorías, dejamos que las capacidades de machine learning se ajusten al hacer click en Train

image08

Con nuestro modelo ya entrenado, nos vamos a la secció Classify para aplicar este modelo a un set de datos. La fuente de datos puede ser un texto corrido o un archivo csv o xls.

image08

Seleccionamos nuestro archivo y nos presenta una muestra de nuestro set de datos y nos  pregunta qué columna es la que vamos a analizar.  Para seleccionar nuestra columna debemos marcar la opción Use as text que se muestra en la primera fila.  Y para aplicar el modelo pulsamos Next.

image03

image07

MonkeyLearn aplicará el modelo de clasificación que creamos y devolverá un archivo descargable.

En nuestro ejemplo, utilizamos un set de datos de las adjudicaciones del estado a proveedores. Nuestra base de datos contaba con categorías útiles como la entidad compradora, modalidad, fecha de adjudicación, proveedor y descripción. Sin embargo, las descripciones son texto escrito no categorizado, por lo que buscábamos categorizar esas compras por el tipo de materiales que se compraban.

En el archivo que MonkeyLearn produce se agregan varios elementos. “Classification path” te muestra la categorización que realizó y, si tiene jerarquía, te muestra los diferentes niveles separados por / una barra diagonal. Te muestra también “Level 1 label”, la clasificación que realizó, y “Level 1 probability”, un índice de probabilidad sobre la similitud entre el texto que encontró y los ejemplos que le mostraste.

image10

 

A medida que entrenes más cada categoría, tus resultados serán más certeros. Debido a la cantidad de registros de una base de datos, la clasificación manual sería un proceso muy tardado. Así que cuando tengas estos problemas puedes aplicar el machine learning para clasificar o tematizar bases de datos con texto.

Yo estoy aprendiendo a utilizar esta herramienta, pero si tienes dudas o ejemplos sobre cómo aplicar estas habilidades a un trabajo con datos, tuiteanos a @EscuelaDeDatos y @danyvillatoro. Nos gustaría saber de qué manera has podido aplicar esta herramienta a tu trabajo.

 

magazine.image = https://es.schoolofdata.org/files/2017/01/image07.png

 

Combinando bases de datos con Tableau Public de manera automática

- el octubre 24, 2016 en Tutoriales

En ocasiones, tenemos dos o más bases de datos que queremos combinar por un factor común. El uso de datos es más efectivo cuando puedes combinar varias bases de datos y ver cómo se relacionan entre ellas. Tableau Public es un programa que nos permite hacer esto de manera sencilla. En este tutorial veremos cómo hacerlo.

Al combinar datos de manera automática te ahorras el tedioso trabajo de tener que emparejar de manera manual dos o varios set de datos.

Al combinar datos de manera automática te ahorras el tedioso trabajo de tener que emparejar de manera manual dos o varios set de datos.

 

  • Instala el programa

 

Este programa gratuito te permite importar tus datos para crear visualizaciones interactivas. Todo tu trabajo se guarda en tu usuario y se puede compartir a través de códigos embed o iframes. Otra ventaja es que el programa está disponible para los sistemas operativos Windows y Mac. Para descargar la aplicación, entra en este link y sigue las instrucciones que el instalador te señala.

2) Asegúrate de que tus datos compartan un denominador común

Cuando quieres unir bases de datos debes asegurarte de que ambas compartan algún campo que vincule los dos sets de datos. Por ejemplo, si tienes dos set de datos sobre los países de Latinoamérica, tu denominador común puede ser el nombre del país. O si tienes datos sobre denuncias y delitos de los partidos políticos, el denominador común puede ser el nombre o las siglas del partido.

3) Repasa la teoría de los conjuntos

Tableau Public te permite realizar dos tipos de combinaciones.

La primera, es una unión interior.

image00

 

 

 

 

En este tipo de unión, sólo se copiaran los datos en los que el denominador común de ambas fuentes de datos coincida. Por ejemplo, si tenemos un set de datos sobre alfabetización en  todos los países del mundo y lo combinamos con datos sobre el acceso a la educación primaria en los países de Latinoamérica, nuestra base de datos combinada solo mostrará los datos de los países de Latinoamérica.

La segunda, es una unión izquierda.

image01

 

 

 

 

En este tipo de unión, se copiarán todos los datos de tu primera fuente de datos y sólo se agregarán los datos de la segunda fuente cuando estos coincidan en denominador común. Las filas que no tengan coincidencias se mostrarán como valores nulos. Siguiendo nuestro ejemplo, nuestra base de datos combinada mostraría los datos de alfabetización de todos los países del mundo, pero aquellos que no forman parte de Latinoamérica no contarían con datos sobre el acceso a educación primaria.

4) Abre el programa y conecta tu primera fuente de datos

Al iniciar, el programa te invita a conectar a un archivo de base de datos, que puede ser en formatos Excel (xls, xlsx), Archivos de texto (csv) o Access. Selecciona tu primer set de datos. En nuestro ejemplo, sería el archivo con el porcentaje de alfabetización de todos los países del mundo.

image03

 

 

 

 

5) Añade tu segunda fuente de datos

Haz click en la palabra añadir y agrega una segunda base de datos. En nuestro ejemplo, es el archivo con el porcentaje de acceso a la educación primaria en los países latinoamericanos.

image05

 

 

 

 

6) Arrastra ambos sets de datos y conéctalos

Al arrastrar las diferentes hojas de cálculo a la pantalla de Tableau Public, el programa te mostrará la relación que estás creando entre ambas bases de datos y te dará una muestra de cómo luce tu conexión de datos.

image06

 

 

 

 

7) Edita la conexión

Haz click en los dos círculos unidos que se muestran entre tus fuentes de datos para abrir una ventana de edición de tu unión. En esta pestaña debes de decidir si quieres una combinación interior o una combinación izquierda. También debes de indicar cuál es la categoría en tus fuentes de datos que coincide o es igual en ambas. En este caso, seleccionamos el campo Country (País) para que combine los datos de cada país de manera automática.

image04

 

 

 

 

Siguiendo el ejemplo, si decides hacer una conexión interior, la combinación de estas dos bases de datos sólo te mostraria 42 filas con los datos de alfabetización y acceso a educación primaria de los 42 países de Latinoamérica y el Caribe.

En cambio, si eliges una conexión izquierda, el set de datos resultante te mostraría 254 filas con los nombres de todos los países del mundo y sus datos sobre alfabetización, pero los datos sobre acceso a educación primaria solo estarían en los países latinoamericanos. El resto de países tendría un valor nulo en esta categoría.

Durante todo el proceso, Tableau Public te muestra una previsualización de cómo se ve tu set de datos combinado debajo de la sección en la que editas las uniones.

8) Copiar y guardar.

Selecciona todas las filas y columnas de tu base de datos combinada haciendo click en la esquina superior izquierda de la previsualización que te muestra el programa. Copia el contenido con la combinación Ctrl+C o ⌘+C,  pégalo en el editor de hojas de cálculo de tu preferencia y guárdalo.

Así, de manera sencilla, puedes combinar bases de datos con muchos campos y sin tener que prestar atención y copiar manualmente las coincidencias. Esta práctica es de mucha utilidad cuando quieres combinar diferentes estadísticas sobre varios lugares, o cuando quieres combinar una base de datos con datos georeferenciales con una que contenga estadísticas.

La combinación izquierda te puede servir para identificar valores que coincidan entre dos bases de datos. Esto es de mucha utilidad cuando estás creando hipótesis para investigaciones o quieres comprobar relaciones entre listados de personas o entidades.

Introducción a limpieza de datos con Excel (cuatro funciones que cambiarán tu vida)

- el marzo 21, 2016 en Uncategorized

Cómo limpiar datos con Excel (cuatro funciones que cambiarán tu vida)

Ahí estás, sentado frente al monitor de tu pantalla. Las celdas de la mayor base de datos que tu equipo de trabajo consiguió se deslizan frente a tus ojos.
Están llenas de dedazos, entradas diferentes para un mismo nombre, ciudades en nombre completo por un lado y abreviadas por otro… es un desastre.

No tienes conexión a internet, por lo que no puedes usar Open Refine o herramienta por el estilo y, además, no tienes ninguna otra herramienta de datos instalada.
Son sólo tú y una hoja de cálculo en una isla desierta. Estas cuatro fórmulas/funcionalidades podrían salvarte la vida.

Isla desiertaCC por Gibran Mena

Filtros

Lo primero que tendrás que hacer es, por supuesto, tener una tabla de datos donde las celdas sean, de hecho, datos.
En este caso usaremos un ejemplo sencillo con los eventos del Open Data Day 2016.

Ve al tab Datos (lo mismo si estás usando hojas de cálculo propietarias como Excel o las más recientes versiones de Calc, de LibreOffice) y da clic en el ícono Filtros.

Screen Shot 2016-03-21 at 1.15.20 AM

En cada uno de los nombres de las columnas puedes dar clic en el triángulo, que despliega los elementos enlistados. Selecciona sólo los que quieras ver. Puedes especificar aún más la búsqueda filtrando desde otra columna.

Puedes usar la opción “Filtros de texto” para hacer la búsqueda aún más específica, con la opción, por ejemplo de hacer búsqueda en los elementos de la columna excluyendo una palabra específica o en la opción “Filtros de fecha” que… filtra las fechas.

Para deshacerte de los filtros sólo da clic en “Borrar filtro”

Ordenar

Screen Shot 2016-03-21 at 1.17.16 AM Screen Shot 2016-03-21 at 1.20.42 AM

En el mismo submenú de Datos hay un ícono con una flecha descendente llamado Ordenar. Esta función puede resultar útil en caso de ser necesitarse un listado alfabético, numéricamente o descendente. Pero también puedes crear un orden basado en preferencias específicas.
También puedes ordenar de acuerdo con una lista personalizada, por ejemplo si quieres que los datos de Colombia aparezcan primero que los de Bolivia.
Primero debes crear una lista personalizada: digitas en las celdas los valores requeridos en el orden requerido, y en el menú de Preferencias de Excel das clic en Modificar listas personalizadas. Añade la selección.
Luego, en el cuadro de diálogo de Ordenar, es necesario seleccionar la lista personalizada recién creada.

Buscar / Reemplazar

Esta es una función en Excel, es decir que es una fórmula incluida por el paquete por defecto. Las fórmulas y funciones tienen elementos sintácticos (“ortográficos”), estos son paréntesis y comas, y argumentos (los datos a los que se aplican dichas fórmulas). La sintaxis incluye el nombre de la función, los paréntesis, comas que separan las celdas y, finalmente, los argumentos o datos que la fórmula “consume”.
En el caso de Buscar Reemplazar es sencillo hacerlo directamente desde el menú de opciones del programa.
Digamos que queremos encontrar los eventos que se realizan en Ciudad de México. En ubicación tenemos Ciudad de México con acento y Ciudad de Mexico, sin acento, además de DF y Distrito Federal.
La Ciudad de México se llama oficialmente así desde hace muy poco, por lo que este caso seguramente lo encontrarás si trabajas con datos de esta ubicación. No faltará quien le llame Mexico City.

Screen Shot 2016-03-21 at 8.47.35 AM
Sólo hay que ir al Menú de Buscar y dar clic en Reemplazar. Para buscar todas las entradas similares a México puedes usar M*xico, que incluye tanto México como Mexico, pero también Maexico o Meexico o Meéxico, que pueden haber sido dedazos a la hora de ingresar la información. Si se quieres buscar solamente un caracter comodín, puedes usar el signo de interrogación, como en M?xico, y si quieres buscar signos como ? o & o @ puedes usar la tilde, en caso de que haya entradas como M?xico, M$xico, [email protected]
Enseguida puedes reemplazar cada valor uno por uno o dar clic en Reemplazar todos. Puedes hacer tantas búsquedas/reemplazos consecutivos como quieras y puedes hacerlo por filas o columnas. Una guía más detallada la encuentras aquí.

BuscarV

La función nos permite introducir un valor específico conocido (locación) para que el programa vaya y busque el dato de una columna que no conocemos (nombre de los organizadores de un evento en Azerbaiyán). Es particularmente útil en matrices masivas con interminables columnas.
La sintaxis o estructura “ortográfica” de la función es la siguiente:
=BUSCARV(«Japan»,B2:E7)
En algunos casos, aunque tengas Excel en inglés se puede usar la fórmula en español. En otros no, y deberás sustituir sólo el nombre de la fórmula por “vlookup”. Esta fórmula se digita en la celda en la que queremos que la matriz escupa el resultado deseado.
Vamos paso a paso.
Lo primero que debes hacer es colocarte en la celda en la que quieres que aparezca lo que buscas.
En mi caso es J5 (y la lista de mi antivirus está actualizada, no tiene nada que ver, pero en la vida eso te da puntos extra).

Screen Shot 2016-03-21 at 9.25.25 AM

(Este screenshot es también un recordatorio subliminal de que deben instalar y manterner activo su antivirus)

Eso, J5, es el primer “argumento” que escribo después del nombre de mi fórmula, y entre paréntesis.
=BuscarV(J5)
Después se introduce una coma, seguida por la celda donde empezaré a buscar =BuscarV(J5,A2:
Seguida por dos puntos y la fila y columna de la celda donde pienso terminar la búsqueda (G207, en mi caso).

Screen Shot 2016-03-21 at 9.31.50 AM

Puedes también simplemente seleccionar el área donde buscará la función, esto se conoce como rango de búsqueda.
He ahí el poder de una hoja de cálculo para hacer limpieza de datos. Úsalo con sabiduría.

Una introducción a CartoDB

- el agosto 12, 2015 en Tutoriales


Hoy en Escuela les presentamos un material generosamente elaborado y compartido por Dennys Mejía, quien de día es diseñador y periodista de datos de Plaza Pública en Guatemala, y miembro de la red de Escuela de Datos de noche. Se trata de un instructivo para introducirnos en el uso de CartoDB.

Dennys usa este material en sus cursos offline, y agradecemos que lo comparta con todos.

Sin más, el documento en Scribd:

Dennys Mejía – Introducción a CartoDB by Escuela de Datos