exact_row_indices#

pymc_marketing.mmm.lift_test.exact_row_indices(df, model)[fuente]#

Obtenga índices en el modelo para cada fila en el DataFrame.

Asume que cualquier columna en el DataFrame es una coordenada en el modelo con el mismo nombre.

Si el DataFrame tiene columnas que no están en el modelo, se generará un error.

Parámetros:
dfpd.DataFrame

DataFrame con combinaciones de coordenadas.

modelo : pm.Modelpm.Model

Modelo PyMC con todas las coordenadas en el DataFrame.

Devoluciones:
dict[str, np.ndarray]

Diccionario de índices para los resultados de las pruebas de elevación en el modelo.

Aumentos:
UnalignedValuesError

Si algunos valores no están alineados. Esto significa que algunos valores en el DataFrame no están en el modelo.

KeyError

Si algunas coordenadas en el DataFrame no están en el modelo.

Ejemplos

Obtenga los índices de un DataFrame y modelo:

import pymc as pm
import pandas as pd

from pymc_marketing.mmm.lift_test import exact_row_indices

df_lift_test = pd.DataFrame(
    {
        "channel": [0, 1, 0],
        "geo": ["A", "B", "B"],
    }
)

coords = {"channel": [0, 1, 2], "geo": ["A", "B", "C"]}
model = pm.Model(coords=coords)

indices = exact_row_indices(df_lift_test, model)
# {'channel': array([0, 1, 0]), 'geo': array([0, 1, 1])}