Dataframe extension integration

Why is this a function? It seems you could save the calls since `df` doesn't change.