Não deu pra entender o que faz a função, depois de voltar várias vezes percebi que só separou em dois conjuntos dados. Os dados modificados anteriormente o e resto dos dados. Porque não fez isso só usando o dados.drop, apagando as colunas do conjunto principal e ficando com o conjunto principal (dropado) e o dados_modificados.
Realmente ficou bem confuso, não explicou o porquê da função, na verdade não mostrou o resultado explicando-a.