Para problemas simples como este:
dados['Valor da compra'] = dados['Valor da compra'].apply(lambda x: x.replace('R$ ', '').replace(',','.').strip())
dados['valor_aluguel'] = dados['valor_aluguel'].apply(lambda x: x.replace('$ ', '').replace(' reais', '').replace(',','.').strip())
Recomendo utilizar o translate:
tab = str.maketrans(',', '.', ' R$')
dados['Valor da compra'] = dados['Valor da compra'].apply(lambda value: value.translate(tab))
tab = str.maketrans(',', '.', ' $reais')
dados.valor_aluguel = dados.valor_aluguel.apply(lambda value: value.translate(tab))