E-Book 650 Dicas e Truques de Python - PDF com 1.200 páginas
Você está aqui: Python ::: Pandas Python Library (Biblioteca Python Pandas) ::: DataFrame

Como retornar a quantidade de linhas e colunas em um DataFrame do Pandas usando a função len() e a propriedade axes

Quantidade de visualizações: 452 vezes
Nesta dica mostrarei como podemos usar a função len() do Paython e a propriedade axes do DataFrame do Pandas para contar e retornar a quantidade de linhas e colunas.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a biblioteca Pandas
import pandas as pd
  
def main():
  # vamos carregar os dados do arquivo .csv
  df = pd.read_csv("C:\\estudos_python\\carros.csv",
   delimiter=";")
  
  # vamos mostrar o DataFrame resultante
  print("Os dados do DataFrame são:\n")
  print(df)
 
  # vamos retornar a quantidade de linhas
  linhas = len(df.axes[0])
 
  # vamos retornar a quantidade de colunas
  colunas = len(df.axes[1])
 
  # e mostramos o resultado
  print("\nO DataFrame contém {0} linhas".format(linhas))
  print("O DataFrame contém {0} colunas".format(colunas))
 
if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Os dados do DataFrame são:

        Marca   Modelo     Ano    Valor Vendido
0        Fiat   Sienna  2010.0  23500.0       S
1  Volkswagen     Polo     NaN  31453.0       N
2  Volkswagen      NaN  2001.0  19200.0       S
3        Fiat    Palio  1995.0   7500.0       S
4       Honda    Civic     NaN  42000.0       S
5     Renault  Sandero  2010.0  52000.0       N
6        Ford    Focus  2009.0  42700.0       N

O DataFrame contém 7 linhas
O DataFrame contém 5 colunas


Link para compartilhar na Internet ou com seus amigos:

Python ::: Desafios e Lista de Exercícios Resolvidos ::: Engenharia Civil - Cálculo Estrutural

Exercícios Resolvidos de Python - Como calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular usando Python

Quantidade de visualizações: 657 vezes
Pergunta/Tarefa:

Veja a seguinte figura:



Nesta imagem temos uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Para fins didáticos, vamos considerar que a carga q será em kN/m e a distância l será em metros. O apoio A é de segundo gênero e o apoio B é de primeiro gênero.

Escreva um programa Python que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A.

Mostre também as forças cortantes nos apoios A e B. Lembre-se de que, para uma carga distribuída de forma retangular, o diagrama de momento fletor é uma parábola, enquanto o diagrama de cortante é uma reta (com o valor zero para a força cortante no meio da viga).

Sua saída deve ser parecida com:

Valor da carga em kN/m: 10
Distância em metros: 13

A reação no apoio A é: 65.000000 kN
A reação no apoio B é: 65.000000 kN
O momento fletor máximo é: 211.250000 kN

Informe uma distância a partir do apoio A: 4
O momento fletor na distância informada é: 180.000000 kN

A força cortante no apoio A é: 65.000000 kN
A força cortante no apoio B é: -65.000000 kN
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# Algoritmo que calcula reação de apoio, momento fletor
# e força cortante em uma viga bi-apoiada em Python

# vamos importar o módulo Math
import math

# função principal do programa
def main():
  # vamos pedir para o usuário informar o valor da carga
  carga = float(input("Valor da carga em kN/m: "))
  
  # vamos pedir para o usuário informar a distância entre os apoios
  distancia = float(input("Distancia em metros: "))
  
  # vamos calcular a reação no apoio A
  reacao_a = (1.0 / 2.0) * carga * distancia
  
  # vamos calcular a reação no apoio B
  reacao_b = reacao_a
  
  # vamos calcular o momento fletor máximo
  flexao_maxima = (1.0 / 8.0) * carga * math.pow(distancia, 2.0)
  
  # e mostramos o resultado
  print("\nA reação no apoio A é: {0} kN".format(reacao_a))
  print("A reação no apoio B é: {0} kN".format(reacao_b))
  print("O momento fletor máximo é: {0} kN".format(flexao_maxima))
  
  # vamos pedir para o usuário informar uma distância a
  # partir do apoio A
  distancia_temp = float(input("\nInforme uma distância a partir do apoio A: "))
  # vamos mostrar o momento fletor na distância informada
  if distancia_temp > distancia:
    print("\nDistância inválida.")
  else:
    flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * \
      (distancia - distancia_temp)
    print("O momento fletor na distância informada é: {0} kN".format(
      flexao_distancia))  
   
  # vamos mostrar a força cortante no apoio A
  cortante_a = (1.0 / 2.0) * carga * distancia
  print("\nA força cortante no apoio A é: {0} kN".format(cortante_a))
  
  # vamos mostrar a força cortante no apoio B
  cortante_b = cortante_a * -1
  print("A força cortante no apoio B é: {0} kN".format(cortante_b))
  
if __name__== "__main__":
  main()



Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercícios Resolvidos de Python - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equilátero

Quantidade de visualizações: 1858 vezes
Pergunta/Tarefa:

Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra:

A < (B + C), B < (A + C) e C < (A + B).

Escreva um programa Python que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais).

Sua saída deverá ser parecida com:

Informe o primeiro lado do triângulo: 30
Informe o segundo lado do triângulo: 40
Informe o terceiro lado do triângulo: 60
O triângulo é escaleno
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  # vamos ler o primeiro lado do triângulo
  lado_a = int(input("Informe o primeiro lado do triângulo: "))
  
  # vamos ler o segundo lado do triângulo
  lado_b = int(input("Informe o segundo lado do triângulo: "))

  # vamos ler o terceiro lado do triângulo
  lado_c = int(input("Informe o terceiro lado do triângulo: "))
    
  # os lados informados formam um triângulo?
  if((lado_a < (lado_b + lado_c)) and (lado_b < (lado_a + lado_c)) 
    and (lado_c < (lado_a + lado_b))):
    # é um triângulo equilátero (todos os lados iguais)?
    if((lado_a == lado_b) and (lado_b == lado_c)):
      print("O triângulo é equilátero")  
    else:
      # é isósceles (dois lados iguais e um diferente)?
      if((lado_a == lado_b) or (lado_a == lado_c) or (lado_c == lado_b)):
        print("O triângulo é isósceles")  
      else:
        # é escaleno
        print("O triângulo é escaleno")
  else:
    print("Os lados informados não formam um triângulo.")
  
if __name__== "__main__":
  main()



Python ::: Dicas & Truques ::: Lista (List)

Como remover e retornar um item aleatório em uma lista Python usando a função pop() e um número randômico

Quantidade de visualizações: 9277 vezes
Em dicas anteriores eu mostrei como é possível usar o método pop() do objeto List da linguagem Python para remover elementos no início, final e em determinadas posições de uma lista. Agora mostrarei como é possível fornecer um índice aleatório para a função pop(), de forma a sortear o elemento que estará sendo removido. Note que o número randômico deverá estar nas faixas de índices aceitáveis.

Veja o exemplo Python completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

"""
  Este exemplo mostra como excluir e retornar
  um ítem aleatório em uma lista
"""
 
import random

def main():
  # cria uma lista de inteiros
  valores = [4, 23, 7, 1, 0, 54]
 
  # imprime a lista
  print(valores)
 
  # remove um ítem aleatório
  valor = valores.pop(random.randrange(0, len(valores)))
  print("Item removido:", valor)
 
  # exibe a lista novamente
  print(valores)

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos um resultado parecido com:

[4, 23, 7, 1, 0, 54]
Item removido: 54
[4, 23, 7, 1, 0]


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Python - Escreva um programa Python para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no array

Quantidade de visualizações: 1543 vezes
Pergunta/Tarefa:

Dado o seguinte vetor de inteiros:

# vamos declarar e construir um vetor de 8 inteiros
valores = [0, 3, 0, 5, 7, 4, 0, 9]
Escreva um programa Python para mover todos os zeros para o final do vetor, ou seja, para a direita, sem alterar a ordem dos elementos diferentes de zero já presentes no array e sem criar um vetor adicional ou temporário.

Sua saída deverá ser parecida com:

Vetor na ordem original:

0   3   0   5   7   4   0   9   

Vetor com os zeros deslocados para o final:

3   5   7   4   9   0   0   0
Resposta/Solução:

Veja a resolução comentada deste exercício usando Python:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  # vamos declarar e construir um vetor de 8 inteiros
  valores = [0, 3, 0, 5, 7, 4, 0, 9]
    
  # vamos mostrar o vetor na ordem original
  print("Vetor na ordem original:\n")
  for i in range(len(valores)):
    print("%d   " % valores[i], end="")
    
  # vamos inicializar j como 0 para que ele aponte para
  # o primeiro elemento do vetor
  j = 0
    
  # agora o laço for percorre todos os elementos do vetor,
  # incrementanto a variável i e deixando o j em 0
  for i in range(len(valores)):
    # encontramos um valor que não é 0
    if(valores[i] != 0):
      # fazemos a troca entre os elementos nos índices
      # i e j
      temp = valores[i]
      valores[i] = valores[j]
      valores[j] = temp
      # e avançamos o j para o elemento seguinte
      j = j + 1
    
  # agora mostramos o resultado
  print("\n\nVetor com os zeros deslocados para o final:\n")
  for i in range(len(valores)):
    print("%d   " % valores[i], end="")
    
if __name__== "__main__":
  main()

Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes.


Python ::: Dicas & Truques ::: Data e Hora

Como retornar o nome do mês de uma data no formato longo em Python usando o marcador %B do método strftime()

Quantidade de visualizações: 7795 vezes
Como retornar o nome do mês de uma data no formato longo em Python usando o marcador %B do método strftime()

Nesta dica mostrarei como podemos usar a função strftime() do objeto datetime para retornar o nome do mês de uma data no formato longo, por exemplo, "dezembro". Note que, para isso, nós vamos usar o código de formatação %B.

Para deixar o exemplo ainda mais interessante eu usei o método setlocale() da classe locale para exibir o nome do mês em Português, ou seja, de acordo com as configurações regionais. Veja o código Python completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

from datetime import datetime
import locale

def main():
  # Configurações do usuário
  locale.setlocale(locale.LC_ALL, "")

  # Obtém um datatime da data e hora atual
  hoje = datetime.today()

  # Exibe o nome do mês no formato longo
  print(hoje.strftime("O mês é: %B"))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

O mês é: fevereiro


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais


© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 94 usuários muito felizes estudando em nosso site.