PRÁTICA 8 – PANDAS (XLSX) e NUMPY
Comandos:
Usar a biblioteca PANDAS e NUMPY para fazer carregar e salvar dados em planilhas XLSX
Tarefa:
Copie, cole, compile e execute cada um dos seguintes programas no interpretador online de python (esse é diferente dos outros usados nas práticas 1 a 6) ou na IDLE do Python instalada na sua máquina:
Programa 1 – Abrir um arquivo XLSX
1 2 3 4 5 6 7 |
import pandas as pd # Leitura do arquivo XLS df = pd.read_excel('exemplo_dados.xlsx') # Exibindo os dados lidos print(df) |
Programa 2 – Abrir um arquivo XLSX e salvar dados
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import pandas as pd # Leitura do arquivo Excel df = pd.read_excel('dados_input.xlsx') # Exibindo os dados lidos (apenas para verificação) print("Dados lidos do Excel:") print(df) # Suponha que a planilha tem uma coluna 'Valores' e queremos calcular o dobro de cada valor df['Dobro'] = df['Valores'] * 2 # Salvando o resultado em um novo arquivo Excel df.to_excel('dados_output.xlsx', index=False) # Exibindo os dados com os novos cálculos print("\nDados após o cálculo:") print(df) |
Programa 3 – Juros de Investimentos
Arquivo de Entrada (investimentos.xlsx)
Investimento Inicial | Taxa de Juros (%) | Anos |
---|---|---|
1000 | 5 | 10 |
2000 | 7 | 5 |
1500 | 4 | 8 |
5000 | 6 | 3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import pandas as pd # Leitura do arquivo Excel df = pd.read_excel('investimentos.xlsx') # Exibindo os dados lidos print("Dados lidos do Excel:") print(df) # Cálculo do valor futuro usando a fórmula de juros compostos df['Valor Futuro'] = df['Investimento Inicial'] * (1 + df['Taxa de Juros (%)'] / 100) ** df['Anos'] # Salvando o resultado em um novo arquivo Excel df.to_excel('resultados_investimentos.xlsx', index=False) # Exibindo os dados com o cálculo aplicado print("\nDados após o cálculo:") print(df) |
Programa 4 – Juros amortizados
Planilha de Entrada (empréstimo.xlsx)
Principal | Taxa de Juros (%) | Meses |
---|---|---|
50000 | 5 | 24 |
100000 | 6 | 36 |
200000 | 4.5 | 60 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
import pandas as pd # Leitura do arquivo Excel df = pd.read_excel('emprestimo.xlsx') # Função para calcular a tabela de amortização def calcular_amortizacao(principal, taxa_juros_anual, meses): taxa_juros_mensal = taxa_juros_anual / 12 / 100 amortizacao = (principal * taxa_juros_mensal) / (1 - (1 + taxa_juros_mensal)**-meses) tabela = [] saldo = principal for mes in range(1, meses + 1): juros = saldo * taxa_juros_mensal principal_pago = amortizacao - juros saldo -= principal_pago tabela.append([mes, round(saldo, 2), round(juros, 2), round(principal_pago, 2), round(amortizacao, 2)]) return pd.DataFrame(tabela, columns=['Mês', 'Saldo Devedor', 'Juros', 'Amortização', 'Pagamento']) # Processamento de cada linha do DataFrame resultados = [] for index, row in df.iterrows(): tabela = calcular_amortizacao(row['Principal'], row['Taxa de Juros (%)'], row['Meses']) tabela['Empréstimo'] = f"Empréstimo {index + 1}" resultados.append(tabela) # Concatenando todos os resultados em um único DataFrame resultado_final = pd.concat(resultados, ignore_index=True) # Salvando o resultado em um novo arquivo Excel resultado_final.to_excel('tabela_amortizacao.xlsx', index=False) # Exibindo os dados calculados print("Dados calculados e gravados em tabela_amortizacao.xlsx:") print(resultado_final) |
Programa 5 – Amortização e Saldo devedor com gráfico
Planilha de Entrada (empréstimo_simples.xlsx)
Principal | Taxa de Juros (%) | Meses |
---|---|---|
150000 | 5 | 12 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import pandas as pd import matplotlib.pyplot as plt # Leitura do arquivo Excel df = pd.read_excel('emprestimo_simples.xlsx') # Função para calcular a tabela de amortização def calcular_amortizacao(principal, taxa_juros_anual, meses): taxa_juros_mensal = taxa_juros_anual / 12 / 100 amortizacao = (principal * taxa_juros_mensal) / (1 - (1 + taxa_juros_mensal)**-meses) tabela = [] saldo = principal for mes in range(1, meses + 1): juros = saldo * taxa_juros_mensal principal_pago = amortizacao - juros saldo -= principal_pago tabela.append([mes, round(saldo, 2), round(juros, 2), round(principal_pago, 2), round(amortizacao, 2)]) return pd.DataFrame(tabela, columns=['Mês', 'Saldo Devedor', 'Juros', 'Amortização', 'Pagamento']) # Processamento do empréstimo linha = df.iloc[0] tabela_amortizacao = calcular_amortizacao(linha['Principal'], linha['Taxa de Juros (%)'], linha['Meses']) # Salvando o resultado em um novo arquivo Excel tabela_amortizacao.to_excel('tabela_amortizacao_simples.xlsx', index=False) # Exibindo os dados calculados print("Dados calculados e gravados em tabela_amortizacao_simples.xlsx:") print(tabela_amortizacao) # Gerando o gráfico do saldo devedor ao longo dos meses plt.plot(tabela_amortizacao['Mês'], tabela_amortizacao['Saldo Devedor'], marker='o') plt.title('Saldo Devedor ao Longo do Tempo') plt.xlabel('Mês') plt.ylabel('Saldo Devedor (R$)') plt.grid(True) plt.show() |