Skip to content

Python Fundamentos para Análise de Dados - Data Science Academy

Notifications You must be signed in to change notification settings

silvaarmando/cap02-python-fundamentos-dsa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 

Repository files navigation

Python Fundamentos para Análise de Dados

Data Types

VARIÁVEIS, TIPOS E ESTRUTURAS DE DADOS



NÚMEROS

TIPOS NÚMERICOS

Existem dois tipos númericos principais em Python:

Numeric Types

OPERAÇÕES MATEMÁTICAS

O python como todas as linguagens de programação tem todas as operações e funções matemáticas e também podem ser utilizados como uma calculadora avançada.

Numeric Types

Para realizar essas operações com números inteiros com números positivos e negativos é como na matemática convencional, mas dentro das regras da linguagem Python.

Soma:

8 + 12
7 - 7

Subtração:

5.2 + 1200.8
-3.1 - 7.9999

Multiplicação:

7.4 ** 2
5 ** 3

Divisão:

7.4 ** 2
5 ** 3

Módulo:

49 % 2
25 % 3

Potência:

5 ** 5
7 ** 8

Também podemos utilizar números com pontos flutuante(float) para realizar as mesmas operações.

# Soma
6.7 + 8.3 + 5
# Subtração
10.2 - 9.1
# Multiplicação
8.7 * 8.7

Na divisão ainda podemos utilizar ooperador de divisão inteira com //

15.3 / 3 # Divisão
49.9 // 3 # Divisão Inteira

FUNÇÕES BUILT-IN

Funções Built-in ou no Português Funções Internas, são funções já incorporadas na própria linguagem sem necessidade de importações ou implementações avançadas.

Built-in Functions em Python

TIPO DE UMA VARIÁVEL

Para sabermos o tipo de um dado em uma variável podemos utilizar o type()

 type(5.8)
 type(-8)

Também podemos utilizar o TYPE para outros tipos de dados.

 # Variável do tipo String
 name = 'Armando'
 type(name)

CONVERSÃO

Podemos utilizar funções built-in como o int() para converter números para um tipo inteiro ou float() para converter para um número com ponto flutuante.

 int(5.4)
 int(-8.4)
 float(125)

HEXADECIMAL E BINÁRIO

Com as funções hex podemos converter números inteiros para o padrão hexadecimal. Hexadecimal é um sistema de numeração posicional que representa os números em base 16, ou seja, utilizando 16 símbolos.

 hex(3900)
 hex(10)

Com a função bin podemos converter números inteiros em binário. O Sitema de Numeração Binário ou de base 2 é um sistema de numeração posicional em que todas as quantidades estão representadas com base em apenas dois números.

 bin(23)
 hex(7090)


VARIÁVEIS

Uma Variável é como um nome anexado a um objeto específico. No Python, as variáveis não precisam ser declaradas ou definidas com antecedência, como é o caso em muitas outras linguagens de programação. Para criar uma variável, basta atribuir um valor e começar a usá-lo. A atribuição é feita com um único sinal de igual (=).


 teste = 1

O valor pode ser impresso na tela utilizando a função built-in print()

 print(teste)

Podemos alterar o valor dessa variável, assim como exibilo em uma prompt intérprete em uma sessão REPL(Read–eval–print loop) sem a necessidade de print().

 teste = 1000
 teste

Também é possível fazer declarações multiplas de variáveis, seja esse a um mesmo valor, como a valores diferentes.

 x, y, z = 153
 x, y, z = 100, 50, 3

Em muitas linguagens de programação, as variáveis são digitadas estaticamente, como tendo inicialmente um tipo de dados específico, e qualquer valor atribuído a ela durante sua vida útil tem sempre esse tipo de valor. No Python as variáveis não estão sujeitas a esta restrição. Aqui uma variável pode receber um valor de um tipo e, posteriormente, reatribuir um valor de um tipo diferente.

  example = 22.37
  print(example)
  # 22.37

  example = 'Eu sou groot!'
  print(example)
  # Eu sou groot!

As variáveis em Python podem ser escritas com letras, números e underline, mas não podem começar com números.

 name01 = 'Coffee'
 numbers = 12321

O python é case-sensitive o que significa que as palavras depois da primeira são capitalizadas. Não se limitando a isso, assim como na maioria das linguagens de programação, podemos utilizar Snake Case ou Pascal Case na hora de escrever suas variáveis.

 MyName = 'Armando Silva'
 myName = 'Armando Silva'
 my_name = 'Armando Silva'

As palavras reservadas em Python, nomes de funções especias no idioma. Até o Python 3.6 eram 33 palavras reservadas.

Essas palavras não podem ser usadas como nome de variáveis.

 and = 'Let is go'
 # SyntaxError: sintaxe inválida

STRINGS

Strings não apenas em Python, como na maioria das linguagens de programação, são conjuntos de caracteres de texto que podem ser compreendidos como representações de informações escritas dentro de um código

 'Isso é uma String!'

Podemos criar uma string em Python usando aspas simples ou duplas e podemos imprimir uma variável com um valor tipo String usando a função built-in print()

 'String com aspas simples'
 "String com aspas duplas"
 print("Imprimindo uma String em uma variável com aspas duplas e 'Simples'")
 # É possível utilizar o \n para quebra de linha em uma STRING
 print('A primeira quebra de linha.\n Segunda quebra de linha! \n')

INDEXAÇÃO DE STRINGS

Para fazer a indexação de uma String é necessário usar colchetes [ ] para manipular o texto de diversas formas.

 index = 'Estou estudando na Data Science Academy'

 print(index)

Ao indexar uma String podemos retornar o primeiro caractere index[0] e podemos retornar qualquer caractere apartir daí.

 index[0]
 # 'E'
 index[6]
 # 'e'

Podemos usar um : para executar um slicing que faz a leitura de tudo até um ponto designado, lembrando que a indexação em Python começa pela posição 0.

 # Retorna todos os elementos da string, começando pela posição até o fim da string.
 index[1:]
 # A String original permanece a mesma.
 print(index)
 # Retorna tudo até a posição 5
 index[:5]
 # Retorna a string inteira
 index[:]
 # Podemos usar indexação negativa e retorna a string de trás para frente
 index[-1]
 # Retornando tudo exceto o último caractere
 index[:-1]

É possível utilizar a notação de índice e fatiar a string em pedaços específicos (o padrão é 1). Podemos usar dois pontos duas vezes em uma linha e, em seguida, um número que especifica a frequência para retornar elementos.

 index[::1]
 # 'Estou estudando na Data Science Academy'
 index[::2]
 # 'Etuetdnon aaSineAaey'
 index[::-1]
 # 'ymedacA ecneicS ataD an odnadutse uotsE'

PROPRIEDADES DE STRINGS

 course = 'Python Fundamentos para Análise de Dados'

Não é possível alterar uma String em Python, mas é possível concatenar uma String, mas uma String é um objeto imutável.

 # Alterando um caractere
 course[0] = 'J'
 # Concatenando uma string
 course + 'é o melhor curso de fundamentos python.'
 course = course + 'é o melhor curso de fundamentos python.'
 print(course)
 # Podemos utilizar o símbolo de multiplicação para fazer repetição de caracteres.
 letra = 'AV'
 letra * 5

FUNÇÕES BUILTIN-IN DE STRINGS

 name = 'Data Science Academy'

Para converter uma string para converter um texto para caixa alta ou maiusculas podemos utilizar o método upper().

 # Upper Case
 name.upper()

Para converter para lower case é utilizado o método lower().

 # Lower Case
 name.lower()

Para dividir uma string por espaços é utilizado o método split()

 name.split()
 # ['Data', 'Science', 'Academy']

O método join() retorna uma string na qual os elementos da sequência foram unidos por um separador str.

 join_name = ''
 join_name = join_name.join(name)
 # 'Data Science Academy'

O método strip() remove os espaços em branco no começo e no final de uma string .

 name = '  Python para Análise de Dados   '
 name.strip()
 # 'Python para Análise de Dados'

O método len() mostra a quantidade de caracteres de uma string .

 x = 'Python para Análise de Dados'
 len(x)
 # 28

O método find() localiza dentro uma string um conjunto de caracteres.

 x = 'Python para Análise de Dados'
 x.find('Dados')
 # 23


FUNÇÕES STRING


Funções String são funções especificas para strings.

  x = 'Seja bem-vindo ao Universo🌎 de Python'

A funçao Capitalize é utilizada para deixar o primeiro caractere como maiúscula.

  x.capitalize()
  # SEJA BEM-VINDO AO UNIVERSO DE PYTHON

A funçao Count retorna a primeira ocorrência do caractere dentro do primeiro conjunto caracteres em que ele está presente.

  x.count('b')
  # 0

A funçao Find retorna a primeira ocorrência do caractere dentro da string comleta.

  x.find('b')
  # 6

OPERADORES RELACIONAIS

Operadores Relacionais são normalmente usados ​​em contextos booleanos como instruções condicionais e de loop para direcionar o fluxo do programa, podendo ser usado com strings e vários outros tipos de dados e em contextos diferentes.


LISTAS

Uma lista (list) em Python é uma estrutura de dados utilizada para criar sequências ou coleções ordenadas de valores. Cada valor na lista é identificado por um índice. O valores que formam uma lista são chamados elementos ou itens.

Para criar uma lista de dados é necessário inserir os dados entre colchetes [ ].

  lista_da_feira = [ 'laranjas', 'maçãs', 'farinha', 'queijo' ]
  # Imprimindo uma lista em python

  print(lista_da_feira)
  # ['laranjas', 'maçãs', 'farinha', 'queijo']

Para imprimir um item da lista pelo indice, é utilizado a mesma marcação que em variáveis do tipo String, utilizando colchetes com o número da posição em que o item se encontra.

  lista_da_feira[2]

USANDO DADOS DIFERENTES EM UMA LISTA

Também é possível criar listas com vários tipos de dados diferentes já que as listas em python não possuem restrição de tipo.

  # Lista com valores de tipos diferentes
  lista_variada = [300, 8.2, "Análise de Dados", true]
  # Definindo cada da lista a uma variável
  valor_number = lista_variada[0]
  valor_float = lista_variada[1]
  valor_string = lista_variada[2]
  valor_boolean = lista_variada[3]


ATUALIZANDO ITEMS NA LISTA


Para atualizar um item em uma lista é preciso definir pelo indice qual item queremos atualizar.

  lista_variada[1]

Depois é possível definir por qual item ele deve ser alterado utilizando o operador de igual =.

  lista_variada[1] = 'banana'
  print(lista_variada)
  # [300, 8.2, 'banana', true]

DELETANDO UM ITEM EM UMA LISTA

Para se deletar um item especifico em uma lista é utilizada a mesma notação de indice, mas dessa vez é utilizado a função del na frente da expressão.

  # Deletando um item da lista
  del lista_variada[2]
  # Imprimindo a lista com os dados alterados
  print(lista_variada)

LISTAS ANINHADAS

Como as listas em Python não tem restrição de tipo fixo, é possível fazer aninhamento de listas, ou seja, colocar listas dentro de outras listas, e até mesmo fazer o agrupamento de um conjunto de listas.

  lista_de_listas = [[1, 9, 4], [23, 8, 12], [21, 22, 7.8]]
  print(lista_de_listas)
  # [[1, 9, 4], [23, 8, 12], [21, 22, 7.8]]

Também é possível fazer o fatiamento de listas aninhadas.

  listas_tipos = [[23, 22, 15], ['Uva', 'Maçã', 'Maracujá'], [31.34, 11.97, 8.12]]
  lista_de_inteiros = listas_tipos[0]
  lista_de_strings = listas_tipos[1]
  lista_de_floats = listas_tipos[2]
  print(lista_de_inteiros, lista_de_strings, lista_de_floats)
  primeiro_inteiro = lista_de_inteiros[0]
  segunda_string = lista_de_strings[1]
  terceiro_float = lista_de_floats[2]

  print(primeiro_inteiro, segunda_string, terceiro_float)

DICIONÁRIOS

Dicionários em Python é uma estrutura de dados formada apartir de uma coleção de items armazenada de formas não ordenada, seus elementos contém uma chave e um valor. A chave serve para indexar o elemento dentro do dicionário e o valor pode ser definido como qualquer valor aceitável ou estrutura de dados dentro do Python.
        Sua sintáxe básica é formada por chaves { }, e os valores chave e valor são separados por dois pontos : dentro da sintáxe do python, ou seja dicionários são mapeamentos de chaves e valores

Imagem de direito autoral da TreinaWeb, essa imagem apresenta o nome dicionários com a logo do Python e um exemplo da estrutura de dados dicionário

CRIANDO DICIONÁRIOS

Existem basicamente 6 maneiras de se criar um dicionário em Python.

1ª Podemos criar um dicionário da forma mais tradicional, atribuindo dentro de uma variável a abertura de uma chave, e inserindo pares chaves e valor, separando os valores com dois pontos :, e depois fechado chaves.

>>> feira = { 'morangos': 24, 'bananas': 18, 'laranjas': 12, 'melancias': 3 }

2ª Também é possível utilizar a função built-in dict passando as chaves e valores como parâmetros.

>>> feira = dict(morangos=24, bananas=18, laranjas=12, melancias=3)

3ª Utilizando a função zip para concatenar listas para chave:valor dentro de um objeto dict.

>>> feira = dict(zip(['moragos', 'laranjas', 'melancias'], [24, 18, 3]))

4ª Utilizando uma lista de tuplas com items simbolizando chave e valor em um objeto dict.

>>> feira = dict([('laranjas', 24), ('melancias', 3), ('morangos', 36)])

5ª Utilizando um Dict Comprehensions

>>> feira = {name: idx + 1 for idx, name in enumerate(('morangos', 'laranjas', 'melancias'))}

6ª A forma mais estranha de se criar um dicionário é transformar um dicionário em dicionário.

>>> feira = dict({ 'morangos': 24, 'bananas': 18, 'laranjas': 12, 'melancias': 3 })

Acessando Items e obtendo chave e valor

Para acessar um item dentro de um dicionário em python, podemos utilizar a chave dentro da indexação.

>>> profile = { name: 'Armando Silva', age: 50, height: 1.70 }
>>> profile[name]


TÚPLAS


EXERCÍCIOS


GAME


Releases

No releases published

Packages

No packages published