0% acharam este documento útil (0 voto)
23 visualizações3 páginas

Module 5 Exercise

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
23 visualizações3 páginas

Module 5 Exercise

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 3

Módulo | Python: Programação Funcional

Caderno de Exercícios
Professor André Perez

Tópicos
1. Função lambda;
2. Função map;
3. Função filter;
4. Função reduce.

Exercícios
0. Preparação do ambiente
Neste exercício vamos trabalhar com o arquivo csv com dados de crédito, definido
abaixo. Execute cada uma das células de código para escrever os arquivos na sua
máquina virtual.

In [ ]:
%%writefile credito.csv
id_vendedor,valor_emprestimos,quantidade_emprestimos,data
104271,448.0,1,20161208
21476,826.7,3,20161208
87440,313.6,3,20161208
15980,-8008.0,6,20161208
215906,2212.0,5,20161208
33696,2771.3,2,20161208
33893,2240.0,3,20161208
214946,-4151.0,18,20161208
123974,2021.95,2,20161208
225870,4039.0,2,20161208
Vamos ler o conteúdo do arquivo em uma lista onde cada elemento é um dicionário
representando as linhas do arquivo.

In [ ]:
emprestimos = []
with open(file='./credito.csv', mode='r', encoding='utf8') as fp:
fp.readline() # cabeçalho
linha = fp.readline()
while linha:
linha_emprestimo = {}
linha_elementos = linha.strip().split(sep=',')
linha_emprestimo['id_vendedor'] = linha_elementos[0]
linha_emprestimo['valor_emprestimos'] = linha_elementos[1]
linha_emprestimo['quantidade_emprestimos'] = linha_elementos[2]
linha_emprestimo['data'] = linha_elementos[3]
emprestimos.append(linha_emprestimo)
linha = fp.readline()

In [ ]:
for emprestimo in emprestimos:
print(emprestimo)

1. Função map
Aplique a função map na lista de emprestimos para extrair os valores da chave
valor_emprestimos na lista valor_emprestimos_lista . Faça também a
conversão de str para float .

In [ ]:
valor_emprestimos_lista = ...

In [ ]:
print(valor_emprestimos_lista) # [448.0, 826.7, ..., 4039.0]

2. Função filter
Aplique a função filter na lista de valor_emprestimos_lista para filtrar apenas os
valores maiores que zero (os valores negativas são erros na base de dados). Salve os
valores na lista valor_emprestimos_lista_filtrada .

In [ ]:
valor_emprestimos_lista_filtrada = ...

In [ ]:
print(valor_emprestimos_lista_filtrada) # [448.0, 826.7, ..., 4039.0]

3. Função reduce
Com a nossa lista de valores de emprestimo pronta, vamos extrair algumas métricas.
3.1. Função reduce para extrair a soma
Aplique a função reduce para somar os elementos da lista
valor_emprestimos_lista_filtrada na variavel soma_valor_emprestimos .

In [ ]:
from functools import reduce

soma_valor_emprestimos = ...

In [ ]:
print(soma_valor_emprestimos) # 14872.550000000001

3.2. Função reduce para extrair a media aritimética


Aplique a função reduce para extrair a média aritimética (mais informações aqui) dos
elementos da lista valor_emprestimos_lista_filtrada na variavel
media_valor_emprestimos .

In [ ]:
from functools import reduce

media_valor_emprestimos = ...

In [ ]:
print(media_valor_emprestimos) # 1859.0687500000001

3.3. (Desafio) Função reduce para extrair o desvio padrão


Aplique a função reduce para extrair a média aritimética (mais informações aqui) dos
elementos da lista valor_emprestimos_lista_filtrada na variavel
desvio_padrao_valor_emprestimos .

In [ ]:
from functools import reduce

desvio_padrao_valor_emprestimos = ...

In [ ]:
print(desvio_padrao_valor_emprestimos) # 1271.997271149785

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy