dd.geih.filtrar#

dane_data.geih.filtrar(df, filtros=None, poblacion=None)[fuente]#

Filas que cumplen los filtros y pertenecen a una población.

Es el formato de filtros que aceptan serie_indicadores, serie_tabla, serie_frecuencias y exportar.

Parámetros:
  • df (DataFrame) – Microdatos armonizados.

  • filtros (dict | None) – {columna: [valores]} para conservar esos valores, o {columna: (mínimo, máximo)} para un rango con los extremos incluidos. Por ejemplo, {"sexo": ["Mujer"], "edad": (15, 28)}. Si la columna no existe (una variable que ese año no trae), ninguna fila cumple el filtro.

  • poblacion (str | None) – Una de POBLACIONES: "pet", "fuerza_trabajo", "ocupado", "desocupado" o "inactivo".

Devuelve:

Las filas que cumplen todo, o df mismo si todas cumplen.

Tipo del valor devuelto:

DataFrame

Notas

El resultado anota en attrs["meses_por_anio"] cuántos meses tenía cada año antes de filtrar (si se filtra por mes, solo esos). Así, si el filtro deja un mes sin nadie, dd.tabla e indicadores lo cuentan como 0 en el promedio mensual de los niveles, como el DANE, y dan lo mismo que las funciones serie_*.

Ejemplos

>>> import pandas as pd
>>> import dane_data as dd
>>> df = pd.DataFrame({"sexo": ["Mujer", "Hombre", "Mujer"], "edad": [17, 30, 45], "ocupado": [1, 1, 0]})
>>> dd.geih.filtrar(df, {"sexo": ["Mujer"], "edad": (15, 28)})
    sexo  edad  ocupado
0  Mujer    17        1
>>> dd.geih.filtrar(df, poblacion="ocupado")
     sexo  edad  ocupado
0   Mujer    17        1
1  Hombre    30        1