Una población que respeta la línea temporal
Imagina que quieres construir una base table para un modelo predictivo que pronostica si los donantes donarán en 2018. La línea temporal indica que la población debe incluir a todos los donantes que hayan donado al menos una vez desde el 1 de enero de 2013, pero que no hayan hecho donaciones después del 1 de enero de 2017.
Se te proporciona un dataframe de pandas gifts con todas las donaciones realizadas desde 2010. En este ejercicio, construirás un conjunto con los identificadores de los donantes (donor ids) de todos los donantes de la población.
Este ejercicio forma parte del curso
Análisis predictivo intermedio en Python
Instrucciones del ejercicio
- Construye un dataframe
gifts_includecon todos los regalos (gifts) hechos en 2013 o más tarde y un dataframegifts_excludecon todos los regalos hechos en 2017 o más tarde. - Construye un conjunto
donors_includeque contenga todos los identificadores de donante degifts_includey un conjuntodonors_excludecon todos los identificadores de donante degifts_exclude. - Construye la población usando el método
.difference()sobre tus dos conjuntos.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Gifts made in 2013 or later
gifts_include = ____[____[____].dt.year >= ____]
# Gifts made in 2017 or later
gifts_exclude = ____[____[____].dt.year >= ____]
# Set with ids in gifts_include
donors_include = ____(____[____])
# Set with ids in gifts_exclude
donors_exclude = ____(____[____])
# Population
population = ____.difference(____)
print(len(population))