Olá, Fernando, tudo bem?
Quando você criou o array numpy dados você lembrou dos pontos no final de cada número? 
Eles são necessários para que o Python interprete-os como números do tipo float. Assim, quando você faz uma cópia profunda (usando .copy()) do array dados para dados_new ele irá também ser interpretado como um array de números do tipo float. 
O seu código de declaração do array dados deverá seguir essa forma:
dados = np.array([[44410.,  5712., 37123.,     0., 25757.], [ 2003.,  1991.,  1990.,  2019.,  2006.]])
dados
Isso fará com que a divisão de zero por zero seja considerado um nan e não aquele número negativo (que seria o menor inteiro negativo em um sistema de 64 bits) que não serviria para nossa utilização.
Qualquer dúvida é só chamar!
Abraços e bons estudos!