Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Solução para todos os bairros e dúvida utilizando o f-string

Olá.

Tentei fazer uma solução de uma linha para o valor médio de todos os bairros. Por favor, poderiam confirmar se está correto?

dados.groupby('Bairro')['Valor'].mean().round(2)


Agora uma dúvida em relação ao f-string. Na aula, o professor, printa os dados de bairro e média utilizando o format:

for bairro, dados in grupo_bairro:
  print('{} -> {}'.format(bairro, dados.Valor.mean()))

Tentei fazer o mesmo utilizando f-string. Se eu fizer utilizando dados.Valor.mean() funciona corretamente:

for bairro, dados in grupo_bairro:
  print(f'{bairro} -> {dados.Valor.mean()}')

No entanto, se eu utilizar dados['Valor'].mean(), ele gera erro:

for bairro, dados in grupo_bairro:
  print(f'{bairro} -> {dados['Valor'].mean()}')
File "<ipython-input-109-d186178a3faf>", line 3
    print(f'{bairro} -> {dados['Valor'].mean()}')
                                    ^
SyntaxError: invalid syntax

Por favor, saberiam informar por que não funciona dessa forma utilizando f-string?

Obrigado!

2 respostas
solução!

Com relação a primeira pergunta, você escreveu corretamente, acredito que nao tenha nenhum erro.

Com relação ao fString, o erro ocorreu pois vc está utilizando 2 vezes as aspas simples. Se você escrever da forma abaixo, acredito que não retornara erro.

for bairro, dados in grupo_bairro: print(f"{bairro} ->{dados['Valor'].mean()}")

Nossa, é verdade!

Esqueci e usei a aspas simples 2 vezes.

Sua solução funcionou, Leonardo, muito obrigado!