Pular para o conteúdo principal

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( input ( 'Informe o valor em metros: 

Tudo sobre Indexação no Pandas - Linguagem Python

Em muitos casos, a gente tem um Dataframe e deseja extrair  apenas as linhas e colunas que achamos serem úteis. Para isso, utilizamos a indexação direta. Essa indexação tem esse nome porque não precisamos acessar nenhum método em si, é só colocamos o nome da coluna entre os colchetes. Neste tutorial, você vai ver que além da indexação direta, existem alguns métodos de indexação dentro do Pandas que ajudam a obter um elemento(linha ou coluna) de um DataFrame.

Indexação direta

Exemplo:

Criei um DataFrame utilizando dicionário em Python
import pandas as pd

meu_dataframe=pd.DataFrame(
{ 'Nome': {0: 'Araújo', 1: 'Victor', 2: 'Catumbela', 3: 'Moisés', 4: 'Mendrote'},
'    Disciplinas favoritas': {0: 'Linguagem Python', 1: 'Matemática',
                               2: 'Estatistica', 3: 'Política', 4: 'Linguagem SQL'} })

print(meu_dataframe)
Executando o script , tenho a seguinte saída





Vou indexar a coluna" nome", do DataFrame "meu_dataframe". Para isso, simplesmente colocamos o nome da coluna entre os colchetes. Observe o print do DataFrame "dataframe_indexado".
import pandas as pd

meu_dataframe=pd.DataFrame(
{ 'Nome': {0: 'Araújo', 1: 'Victor', 2: 'Catumbela', 3: 'Moisés', 4: 'Mendrote'},
'    Disciplinas favoritas': {0: 'Linguagem Python', 1: 'Matemática',
                               2: 'Estatistica', 3: 'Política', 4: 'Linguagem SQL'} })

print(meu_dataframe)

print('********************************')

dataframe_indexado =meu_dataframe['Nome']
print(dataframe_indexado)
Com isso, o dataframe_indexado só vai retornar uma coluna, que é a coluna "Nome"








Em muitos casos, a gente quer ir além. Queremos pegar uma linha específica, uma coluna especifica e para isso, existem métodos nativos do Pandas que vão nos auxiliar nessas tarefas.

Métodos: iloc() e loc() - Linguagem Python

A biblioteca Pandas do Python é composta por vários métodos. loc() e iloc() são dois desses métodos. Eles são usados para fatiar dados no DataFrame Pandas. Eles são usados para filtrar os dados de acordo com algumas condições.

Método iloc()

É um método que permite você acessar um DataFrame a partir do índice da linha e da coluna. Esse método recebe um valor inteiro(int) para acessar a linha ou coluna.
Eu vou pegar a terceira linha do DataFrame anterior(meu_dataframe). A contagem começa em zero.
Inserindo o metodo iloc() na função print():
print(meu_dataframe.iloc[2,0])

Ao executar o código, temos o nome "Catumbela" como retorno pois, a função iloc() trouxe a terceira linha da 1ª coluna.



  • Acessando múltiplas Linhas com iloc()
Sintaxe do método iloc()
Observação: o índice final é o índice menos 1, ou seja, se você quiser trazer 3 linhas , você deve colocar o índice final como sendo a 4.ª linha.
Exemplo: Eu tenho esse DataFrame





Nele, vou querer pegar somente 3 linhas e as colunas "Disciplinas favoritas" e "Professores"
print(meu_dataframe.iloc[0:3,1:3])
Executando o código:




Método loc()

É um metodo que permite acessar o DataFrame a partir do nome, diferente do iloc() que acessa pelo índice da linha ou coluna. Em outras palavras, significa que quando trabalhamos com loc(), temos que passar o nome da linha ou coluna que queremos selecionar. 

O método loc() recebe como parâmetro, uma string(str) ou lista(list).

Exemplos sobre o método loc()

 Eu criei esse DataFrame utilizando dicionário em Python.
import pandas as pd

meu_dataframe=pd.DataFrame(
{ 'Nome': {0: 'Araújo', 1: 'Victor', 2: 'Catumbela', 3: 'Moisés', 4: 'Mendrote'},
'Disciplinas favoritas': {0: 'Linguagem Python', 1: 'Matemática',
                               2: 'Estatistica', 3: 'Política', 4: 'Linguagem SQL'} ,
                            'Professores':{ 0: 'Abel',1:'Luxemburgo',2:'Jair',3:'Pedro',4:'João'} })

print(meu_dataframe)
Executando o script , tenho a seguinte saída:






1º  Exemplo - Método loc()
 Mostrar as linhas onde  a coluna "Disciplinas favoritas" é igual a "Estatistica".

Vou imprimir esse DataFrame com a condição desejada:
print(meu_dataframe.loc[(meu_dataframe['Disciplinas favoritas']=='Estatistica')])
Executando o código, teremos o seguinte resultado:



2º  Exemplo -  Método loc()
 Selecionar todas as linhas e trazer somente as colunas: Disciplinas favoritas" e "Professores".
print(meu_dataframe.loc[ : , ['Disciplinas favoritas','Professores']])
Executando o script , tenho a seguinte saída:
Método loc() que retorna uma lista de colunas  







3º Exemplo -  Método loc()
 Selecionar todas as linhas e trazer as colunas começando pela : Disciplinas favoritas" em diante.
print(meu_dataframe.loc[ : , 'Disciplinas favoritas':])
Executando o script , tenho a seguinte saída:
4º Criar a coluna "Data_insercao" e filtrar o DataFrame , considerando os dados inseridos até o mês de Março.

Criando o DataFrame
import pandas as pd

meu_dataframe=pd.DataFrame(
{ 'Nome': {0: 'Araújo', 1: 'Victor', 2: 'Catumbela', 3: 'Moisés', 4: 'Mendrote'},
'Disciplinas favoritas': {0: 'Linguagem Python', 1: 'Matemática',
                               2: 'Estatistica', 3: 'Política', 4: 'Linguagem SQL'} ,
                            'Professores':{ 0: 'Abel',1:'Luxemburgo',2:'Jair',3:'Pedro',4:'João'},
                             'Data_insercao': {0:'2021-01-01',1:'2023-04-12',2:'2023-05-15',3:'2023-03-10',4:'2023-02-11'} })

print(meu_dataframe)
Executando o script , tenho a seguinte saída:
DataFrame criado





Eu inseri uma coluna do tipo Date mas será que o Pandas atribuiu o tipo correto?
Eu vou executar o comando dtypes   para ver os tipos de dados do meu DataFrame. Se a coluna "Data_insercao" não estiver como datetime, tenho que fazer uma transformação para que ela seja do tipo datetime.
Consultando o tipo de dados das minhas colunas
print(meu_dataframe.dtypes)
Resultado
A coluna  "Data_insercao" está como object por isso, preciso converter para  datetime. O tipo de verificação que a gente está fazendo, não funciona para colunas do tipo object
  • Convertendo o tipo de dados
meu_dataframe['Data_insercao']=pd.to_datetime(meu_dataframe['Data_insercao'])
print(meu_dataframe.dtypes)
Executando o script , tenho a seguinte saída:
Após essa conversão, precisamos setar a coluna Data_insercao como nosso índex para que a gente possa acessar o DataFrame por meio da data.
  • Setando o índice
meu_dataframe=meu_dataframe.set_index('Data_insercao')
  • Selecionando as entradas até Março de 2023
condicao = meu_dataframe.index < '2023-04-01'
print(meu_dataframe.loc[condicao ,['Disciplinas favoritas','Professores']])
Executando o script , tenho a seguinte saída:
#LinguagemPython #BibliotecaPandas #SeriesTemporais #introdução_LinguagemPython #PythonLanguage #ComoAprenderPython #ExercíciosdePython #pip_em_python #arquivo_CSV #DataFrame #DataFrame_em_python #indexaçao_com_pandas

Comentários

Postagens mais visitadas deste blog

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( input ( 'Informe o valor em metros: 

Como abrir uma página da web utilizando Python?

Simples, você pode abrir páginas da Web de forma rápida, segura e fácil. Veja só, durante os estudos das bibliotecas padrão do Python descobri que para abrir um navegador web a partir de um script, devo importar o módulo webbrowser. Em seguida, usar webbrowser.open () que vai receber o link que quero abrir como argumento e executar o serviço, ou seja, basta inserir um endereço do youtube nele, na verdade pode ser qualquer link que você desejar. Exemplo webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Para funcionar temos que importar o módulo webbrowser, que vai ser a maneira de dizer ao python que queremos usar webbrowser e todas as suas funcionalidades no programa. import webbrowser webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Funcionooou, uhuhu. Nem parece, mas o módulo webbrowser é um módulo muito empregado em projetos de sites de filmes. Tem muitas utilidades, acredite.

CÁLCULO DA ÁREA DE UM TRIÂNGULO - LINGUAGEM C

Escreva um programa para calcular a área de um triângulo, sendo dados a sua base e a  sua altura. A = (B*H)/2 Solução #include <stdio.h> int main() {   // Variáveis  float area,base,altura;  // Entrada de Dados  printf( "\n Informe a base do triângulo: " );  scanf( "%f" ,&base);  printf( "\n Informe a altura do triângulo: " );  scanf( "%f" ,&altura);   // Processamento dos dados  area=(base*altura)/2;  // Exibição do resultado  printf( "\n Area do triângulo=%.1f\n" ,area);   return 0; }