# -*- coding: utf-8 -*-
"""
Created on Wed Apr 14 08:11:46 2021
@author: Gustavo Eduardo Marcatti
"""
##-------------------- 1 --------------------##
def soma_med(N):
soma = 0
n = 0
for elem in range(1, N):
if elem % 3 == 0 or elem % 5 == 0:
soma += elem
n += 1
return soma, soma/n
soma, media = soma_med(1000)
print('Soma:', soma, 'Média:', media)
import numpy as np
def soma_med_np(N):
v = np.arange(1, N)
div3_5 = v[(v % 3 == 0) | (v % 5 == 0)]
return div3_5.sum(), div3_5.mean()
soma, media = soma_med_np(1000)
print('Soma:', soma, 'Média:', media)
##-------------------- 2 --------------------##
import pandas as pd
# link para download dos dados no pdf da prova
arq_excel = r'G:\Meu Drive\Drive\Aulas\Algoritmos\Aulas2021_1remoto\prova\correcao2\dados_estrato.xlsx'
d = pd.read_excel(arq_excel, engine = 'openpyxl')
est_estrato = d.groupby('estrato').agg(dap_med = ('dap', 'mean'),
dap_dp = ('dap', 'std'),
h_med = ('h', 'mean'),
h_dp = ('h', 'std'),
n = ('dap', 'count'))
d['geral'] = 'geral'
est_geral = d.groupby('geral').agg(dap_med = ('dap', 'mean'),
dap_dp = ('dap', 'std'),
h_med = ('h', 'mean'),
h_dp = ('h', 'std'),
n = ('dap', 'count'))
print(est_geral)
# d['dap'].mean(), d['dap'].std()
##-------------------- 3 --------------------##
import pandas as pd
import numpy as np
from scipy.optimize import curve_fit
# link para download dos dados no pdf da prova
arq_excel = r'G:\Meu Drive\Drive\Aulas\Algoritmos\Aulas2021_1remoto\prova\correcao2\dados_estr.xlsx'
d = pd.read_excel(arq_excel, engine = 'openpyxl')
def mod(x, b0, b1):
return np.exp(b0 - b1 / x)
coef = []
for k, g in d.groupby('estrato'):
b0, b1 = curve_fit(mod, g['idade'], g['vol'])[0]
coef.append([k, b0, b1])
col = ['estrato', 'b0', 'b1']
df_coef = pd.DataFrame(coef, columns=col)
df_coef['IMA7'] = np.exp(df_coef['b0'] - df_coef['b1'] / 7) / 7
df_coef = df_coef.sort_values('IMA7', ascending=False)
print(df_coef)
##-------------------- 4 --------------------##
def fibonacci(n):
fib = [1, 2]
for i in range(len(fib), n):
fib.append(fib[i-1] + fib[i-2])
return fib
fibonacci(10)