8 conceitos fundamentais para programar na linguagem Python: confira!

Programar em linguagem Python – assim como com em outras linguagens e até mesmo outros trabalhos – se torna muitas vezes um serviço repetitivo. E mesmo com aquelas tarefas que são usadas cotidianamente, é comum precisar aprender coisas novas.

A vastidão de possibilidades que a internet apresenta é ótima, mas pode virar um grande problema se o profissional utilizá-la sempre como uma muleta

Mesmo que seja interessante achar exemplos, explicações e soluções para diversas dúvidas que surjam, você não pode ficar desatento e perder alguns conceitos básicos que se deve aprender.

Por mais que você possa entregar um trabalho bem feito com a ajuda de vários canais de consulta, sua produtividade será menor. O tempo perdido indo atrás de diversas pesquisas poderia ser utilizado para aperfeiçoar seus códigos e sua capacidade profissional.

Python, além de ser uma linguagem fácil de entender e utilizar, possui uma ótima aplicação na ciência de dados. Com versatilidade, a linguagem pode ser um recurso tanto para o web development quanto para o data science.

Por isso, se você está começando na ciência de dados, em uma transição de carreira, ou até mesmo já tem anos de experiência, é interessante dominar alguns conceitos. Neste artigo iremos passar por 8 deles, que deixam seu trabalho mais fluido e que merecem ser relembrados. 

Faça uma boa leitura e reveja cada um deles agora.

1. Compreensão de lista de uma linha

A linguagem Python é uma das mais fáceis de aprender, sendo extremamente indicada para quem está iniciando na programação. Isso tudo se dá pela sua sintaxe simples e pelos recursos que diminuem o trabalho com sua codificação.

A compreensão de lista é mais uma funcionalidade que reduz o trabalho com Python, deixando o código menor e trazendo resultados mais rápidos. Essa ferramenta se contrapõe ao loop for, que geralmente é a forma com que os programadores fazem a iteração de elementos no código.

Em Python, a compreensão de lista, que foi adicionada na sua versão 2.0,  é bastante utilizada para filtrar e retirar elementos de uma lista. Vindo dentro de colchetes, sua sintaxe básica é a seguinte:

[expressão for elemento in lista if condição]

ou seja, ela conta com:

  • o elemento que deve ser expresso;
  • o item que deve ser analisado para localizar o elemento pedido;
  • a lista em questão; e
  • uma condição específica, se houver.

Geralmente, em apenas uma linha e com poucas variáveis, você obterá uma resposta rápida na linguagem. Veja agora as vantagens de utilizar a compreensão de lista de uma linha:

  • aumenta a eficiência do código, tanto em questão de tempo para fazer quanto para retornar o que é pedido;
  • diminui o tamanho do código, deixando sua leitura mais simples; e
  • faz com que a instrução iterativa vire uma fórmula, ajudando também no entendimento da linguagem.

Leia também: Quais as diferenças entre analista de dados e cientista de dados

2. Funções Map e Filter

A função map trabalha pegando uma lista e transformando em outra, mapeando o resultado de si mesma de acordo com a operação pedida em cima de cada elemento. Ela é builtin, uma vez que é inserida diretamente no interpretador Python.

Para cada item da lista inicial, com map, a nova lista apresentará um resultado. Vindo entre parênteses, sua sintaxe também é simples:

map (operação, lista)

Se você tiver a lista (1, 2, 8, 7, 3) e pedir que a operação realizada no map traga o dobro de cada valor, será indicada a segunda lista (2, 4, 16, 14, 6). 

No caso de não ser possível apresentar um valor para um item da lista com a operação que será realizada, será apresentado o valor None. Se a lista for (1, 2, 5, 6, 7, 10) e for solicitado os pares, irá retornar (None, 2, None, 6, None, 10).

Filter, por sua vez, como seu nome já diz, filtra uma lista para apresentar seu resultado. Diferente de map, a ideia aqui é reduzir uma lista de acordo com aquilo que é solicitado.

Em filter, a lista de saída será sempre menor ou igual à inicial, nos casos em que todos os itens satisfaçam a condição do filtro. Sua sintaxe é bem próxima de map:

filter (condição, lista)

Se usássemos o filter na lista do exemplo anterior (1, 2, 5, 6, 7, 10) para trazer os números pares, o resultado seria (2, 6, 10). Por fim, muitas vezes é interessante aplicar essas duas funções juntas, pedindo por algum dado com map de alguns elementos específicos com filter.

3. Concat, Merge e Join

Agora, veremos as formas de combinar o conteúdo de diferentes dataframes na linguagem Python. Para quem está acostumado com SQL, as funções concat, merge e join não são nenhuma novidade.

A função concat (concatenar) faz com que você possa combinar diferentes tabelas, trazendo os novos dados abaixo ou ao lado, dependendo do que for definido. Merge (mesclar), por sua vez, une diferentes dataframes de acordo com uma coluna específica que seja comum a todos eles. 

Por fim, temos join (juntar), que faz um trabalho semelhante ao merge, mas unindo as informações de acordo com índices, e não com uma coluna específica. As diferenças entre cada um dos métodos são pontuais, por isso, é fundamental identificar o que precisa ser feito para fazer a melhor escolha.

Assim como as demais aplicações em Python, a sintaxe e a leitura do que é feito é bem simples. Tanto concat quanto merge e join são aplicadas em Pandas, que é uma das principais bibliotecas da linguagem e que iremos abordar bastante durante esse texto. 

Leia também: Guia sobre Power BI: saiba o que é, como funciona, para que serve e mais!

4. Arange e Linspace

Se você pretende criar matrizes de forma facilitada utilizando a biblioteca NumPy, nada melhor do que trabalhar com as funções arange e linspace. Com uma finalidade própria, cada uma facilita o trabalho de quem utiliza linguagem Python na ciência de dados.

Arange (arranjo) tem um trabalho bem simples, o de retornar valores espaçados de modo uniforme dentro de um grupo. Para que isso dê certo, você precisa apenas informar o ponto de partida, o ponto de parada e qual o intervalo que haverá entre cada item. Veja sua sintaxe:

arange (start, stop, step)

Se você fizer a seleção (3, 15, 3) será apresentado o resultado (3, 6, 9, 12, 15). Ou seja, irá do 3 (start) até o 15 (stop), aumentando de três em três (step).

Linspace também irá criar uma matriz com valores espaçados de forma uniforme dentro de um grupo, mas de forma contrária. 

Enquanto em arange era definido o intervalo entre os valores dentro de um ponto de partida e um de parada, aqui escolhemos a quantidade de itens que deverão aparecer. Veja a sintaxe:

linspace (start, stop, num)

No caso de apresentarmos na codificação um linspace (2, 10, 5), o resultado será (2, 4, 6, 8, 10). Ou seja, de forma uniforme, são apresentados 5 números (quantidade pedida) entre o 2 (ponto de partida) e o 10 (ponto de parada). A fórmula matemática aqui é ponto de parada – ponto de partida dividido por quantidade de itens – 1.

5. Parâmetro Axis 

Se iremos preparar uma visualização de dados, com toda certeza, a parte mais importante é organizar as informações para serem apresentadas da melhor forma possível. Um dos modos de escolher como isso será visto é combinando alguma função com axis, que pode estar ligado tanto à Pandas quanto à NumPy.

O axis não é a função que determina como os elementos serão organizados, e sim a variável que indica se a ação que estamos tratando deve ser feita em relação às colunas ou às linhas. Se aparecer axis=0, é sobre linhas, já o axis=1 trata das colunas

Assim,  a direção que determinada função vai ser aplicada é definida. Para exemplificar, imagine que você tem a seguinte tabela:

ABCD
A161116
B35913
C271015
D481214

Se a escolha for por ordenar de acordo com a linha A, ou seja, com axis 0, ela será apresentada da seguinte forma:

ABCD
A161116
C271015
B35913
D481214

Desse modo, a apresentação será de acordo com a ordem crescente dos dados apresentados na linha A. Outro exemplo para axis é tirar a média de informações. Vamos trabalhar com a seguinte tabela:

NomeIdadeGêneroTamanho
AAlice25Feminino1,82
BCarlos34Masculino1,78
CRaquel51Feminino1,68
DPedro18Masculino1,86

Se pedirmos a média com axis=0, de cada linha com valores numéricos, teremos a idade de 32 anos e o tamanho de 1,785 metros. Se for utilizado axis=1, as operações serão realizadas pelas colunas, apresentando a média entre a idade e o tamanho de cada um, o que não faria sentido.

Leia também: Veja o que é data driven e qual a importância para alavancar sua carreira!

6. Funções Lambda

Se a ideia central é ser bem produtivo e reduzir o tempo gasto em uma codificação, a expressão lambda será uma grande aliada. Elas são conhecidas como funções anônimas, pois não recebem uma definição, sendo declaradas como variáveis.

Sua sintaxe é simples, apresentando o argumento usado em lambda seguido por dois pontos (:) e a operação que será utilizada. Por exemplo, se queremos saber o dobro de 120 a fórmula seria: = lambda 120: 120 * 2.

Lambda ajuda bastante por fazer o que as funções comuns fazem, desde que seja em uma única expressão. Como se trata de uma variável, ela poderá ser utilizada dentro de outras funções, como por exemplo map e filter.

7. Pivot tables

Traduzida como tabela dinâmica, a função pivot table também é aplicada na biblioteca Pandas, do Python. Apesar de ser mais utilizada no Excel, aqui ela também desempenha um importante papel.

De acordo com a própria Microsoft, “uma Tabela Dinâmica é uma ferramenta poderosa para calcular, resumir e analisar os dados que lhe permitem ver comparações, padrões e tendências nos dados”. Ou seja, essa é a ferramenta perfeita para quem realiza uma análise de dados baseada em uma variável específica.

O dinamismo nessas tabelas está na possibilidade de modificar a forma que elas são vistas, passando dados que estão na horizontal para a vertical, ou seja, trocando de linha por colunas. 

Essa função facilita quanto se precisa analisar informações específicas, utilizando novas operações sobre as informações presentes.

Vamos trabalhar agora com a seguinte tabela:

NomeGêneroIdadeEstado
AlineFeminino30MG
BrenoMasculino25BA
DiogoMasculino45PA
ValériaFeminino30RS

Se precisamos fazer análises baseadas no gênero, podemos “pivotar” essas informações que estão em uma coluna para apresentar informações em linha. Vamos analisar o gênero pela quantidade e média de idade:

GêneroFemininoMasculino
Quantidade22
Média de idade3035

Obviamente, esse é um exemplo extremamente simples, no qual temos poucos dados e a leitura não modifica quase nada em decorrência do que deve aparecer e em qual lugar. Entretanto, o comum na análise de dados é trabalhar com grandes quantidades de informação, o conhecido big data, sendo as pivot tables muito bem aplicadas.

Leia também: Banco de dados: conceito, tipos e importância

8. Pandas Apply

Por fim, temos a função apply, na qual alguma ação será realizada sobre o data frame, especificamente sobre uma série Pandas. Ela ajuda ao apresentar um resultado, de acordo com o que é pedido, para todos os elementos dentro de uma linha ou coluna (lembra do axis?).

O apply pode realizar tarefas em conjunto com outras funções, deixando tudo ainda mais prático. É possível trabalhar em uma grande quantidade de dados, aplicando alguma condição sobre eles sem precisar fazer um loop.

Esperamos que esse texto tenha ajudado nos seus conhecimentos sobre a linguagem Python. Se você quer saber mais sobre a aplicação desta linguagem na ciência de dados, que tal ler nosso outro artigo para que você saiba o que é, onde estudar e como aprender Data Science do zero?

Sirius Educação

Somos uma escola de tecnologia, digital e diferente do tradicional. Permitimos uma jornada de aprendizagem individual, voltada à prática e altamente conectada com o ecossistema de inovação. E o mais importante, temos um olhar humano para o desenvolvimento do aluno ou aluna, empoderando-as para o futuro.

Sirius Educação
Sirius Educação
Somos uma escola de tecnologia, digital e diferente do tradicional. Permitimos uma jornada de aprendizagem individual, voltada à prática e altamente conectada com o ecossistema de inovação. E o mais importante, temos um olhar humano para o desenvolvimento do aluno ou aluna, empoderando-as para o futuro.
Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *