Oi Gabriel, tudo bem?
Testei o código que você compartilhou e tive algumas percepções. O seu dataframe está considerando as linhas sem valor no condomínio ou aluguel como NaN (que significa Not a Number - não é um número).
Isso pode ter acontecido por alguma diferença no tratamento de dados feito anteriormente ou até alguma diferença de versão de biblioteca.
Então, o filtro df.query('Valor == 0 or Condominio == 0') não está retornando nenhuma linha, pois não encontra os valores zero.
Nesse caso, é necessário utilizar outra estratégia. O pandas possui o método isna, que identifica os valores nulos. Conheça melhor na documentação. Para criar o dataframe apenas com os valores nulos nas colunas especificadas, Valor e Condomínio, faça assim:
df[df[['Valor', 'Condominio']].isna().any(axis=1)]
Filtramos a colunas do dataframe, adicionamos o método isna e então o método any para designar que não precisam ser todos os valores nulos. Pode ser ou em Valor, ou em Condomínio.
Então, obtemos a lista de índices desse dataframe com o método index e atribuímos à variável nulos:
nulos = df[df[['Valor', 'Condominio']].isna().any(axis=1)].index
nulos
Prontinho. Agora, basta seguir com a exclusão das linhas especificadas, utilizando o drop:
df = df.drop(nulos, axis=0)
Espero ter ajudado, Gabriel. Se ficou alguma dúvida, é só falar.
Abraço.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!