Fala galera do mundo dos dados! Chegando mais um conteúdo da Iniciação em Python – Começando do ZERO. E o tema de hoje são as funções da linguagem Python.
Para finalizar as estruturas lógicas temos as funções em Python. Cada função recebe um nome e consiste em uma sequência de comandos que executa uma determinada tarefa. Dessa forma, a sua principal finalidade é nos ajudar a organizar, padronizar, simplificar programas em pedaços que correspondam a como imaginamos uma solução do problema, para evitar que todos que utilizam a linguagem criem tudo do zero.
Ainda assim, vale lembrar que as funções em Python, também podem ser criadas pelos desenvolvedores em seus códigos, a partir de suas necessidades com a sua própria lógica. Portanto, aqui conheceremos algumas funções prontas muito interessantes já disponíveis na linguagem.
Funções da Biblioteca matplotlib
A biblioteca matplotlib é uma biblioteca gráfica, que permite o usuário criar visualizações estáticas, animadas e interativas em Python. Para mais informações sua principal referencia deve ser a documentação oficia da lib, disponível em matplotlib.org.
Função Pyplot do matplotlib
A função Pyplot está disponível na biblioteca matplotlib que deve ser importada para que seja possível utilizar a função. O conjunto de funções disponível em matplotlib.pyplot permite criação de gráficos de vários tipos, desenhe linhas na área do gráfico, personalize com títulos, legendas entre outras. Veremos alguns exemplos a seguir.
Gráficos pyplot – Impressão de gráficos de linha, barras e pizza.
# Importa biblioteca import matplotlib.pyplot as plt # Lista de strings meses = ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun'] # Lista de valores valores = [10, 5, 20, 0, 35, 40] # Plota um gráfico de linhas plt.plot(meses, valores) # Exibe o gráfico gerado acima plt.show() # Plota um gráfico de barras plt.bar(meses, valores) # Exibe o gráfico gerado acima plt.show() # Plota um gráfico de pizza plt.pie(valores, labels=meses) # Exibe o gráfico gerado acima plt.show()
Na imagem abaixo, temos três gráficos. O primeiro é um gráfico de linhas gerado com a função plt.plot, informando apenas os valores dos eixos x e y com as listas meses e valores respectivamente. Em seguida temos um gráfico de barras gerado com a função plt.bar, também informando apenas os valores dos eixos x e y com as listas meses e valores respectivamente. Para finalizar, um gráfico de pizza gerado com a função plt.pie, nele informando os valores e as legendas com as listas meses e valores respectivamente.
Funções da Biblioteca nltk
A biblioteca nltk é uma biblioteca para trabalhar com linguagem natural, que permite o usuário processamento de texto para classificação, tokenização, lematização entre muitas outra funcionalidades em Python. Para mais informações sua principal referencia deve ser a documentação oficia da lib, disponível em nltk.org.
Função word_tokenize da nltk
A função word_tokenize está disponível na biblioteca nltk, permite separar palavras de um texto, ou seja, pegar cada palavra de uma sentença.
# Importa a biblioteca import nltk # String texto = 'O Python é a melhor linguagem do mundo!' # Função para separar palavras palavras = nltk.word_tokenize(texto) # Imprime a lista de palavras criada print(palavras)
Podemos observar na imagem abaixo, que a função word_tokenize retorna uma lista contendo cada palavra incluindo os caracteres especiais e excluindo os espaços.
Função FreqDist da nltk
A função FreqDist também está disponível na biblioteca nltk, e permite retornar a frequência das dos caracteres um texto ou a frequência das palavras de uma lista, caso o texto tenha sido separados em palavras com o uso da função word_tokenize por exemplo.
# Importa a biblioteca import nltk # Importa a biblioteca from nltk import FreqDist # String texto = 'O Python é a melhor linguagem do mundo!' # Função para separar palavras palavras = nltk.word_tokenize(texto) # Retorna a frequência do caracteres da string FreqDist(texto) # Retorna a frequência das palavras da lista FreqDist(palavras)
Observe o resultado do código na imagem abaixo. Na primeira chamada da função FreqDist(texto) ele conta a frequência de todos os caracteres inclusive espaços e caracteres especiais, já na segunda chamada da função FreqDist(palavras) é contada a frequência após uma separação de palavras o que exclui o espaço da contagem.
Funções da Biblioteca numpy
A biblioteca numpy é uma biblioteca para trabalhar com funções matemáticas, seja de funções simples como geradores de números aleatórios, até funções mais complexas como transformadas de Fourier, tudo isso em Python. Para mais informações sua principal referencia deve ser a documentação oficia da lib, disponível em numpy.org.
Função arange do numpy
A função arange está disponível na biblioteca numpy, e permite a criação de arranjos com valores uniformemente espaçados dentro de um determinado intervalo. Podemos definir um ponto de partida, um ponto de parada e o tamanho de incremento. Observe que a saída da matriz não incluirá o ponto de parada.
Alguns exemplos de como utilizar a função arange que possui os seguintes parâmetros arange(inicio, fim, incremento).
# Importando a biblioteca import numpy as np # Função arange apenas com o parâmetro final np.arange(6) # Função arange com parâmetros inicial e final np.arange(6, 10) # Função arange com parâmetros inicial, final e incremento np.arange(6, 10 ,2)
A imagem abaixo tem o resultado dos três exemplos do código acima. No primeiro exemplo, podemos observar, que os parâmetros inicial (valor 0) e incremento (valor 1) são default caso não sejam informados, um detalhe é que e o parâmetro final não é incluído na saída. Já segundo exemplo informamos os parâmetros inicial, final e o incremento foi default (valor 1). E último exemplo, informamos todos os parâmetros.
Função linspace do numpy
A função linspace está disponível também na biblioteca numpy, permite a criação de arranjos com valores espaçados de modo uniforme em um intervalo. Dado o início, o fim e a quantidade de valores, linspace irá distribuí-los uniformemente para você em uma matriz.
Exemplificando a função linspace que possui os seguintes parâmetros linspace(inicio, fim, quantidade), uma pequena diferença da função que vimos anteriormente.
# Importando a biblioteca import numpy as np # Função linspace com parâmetros inicial e final np.linspace(1, 50) # Função linspace com parâmetros inicial, final e quantidade np.linspace(1, 50 ,10)
Podemos observar na imagem abaixo dois exemplos. Primeiro sem informar o parâmetro quantidade, então, é utilizado o default quantidade (valor 50), e o parâmetro final incluído na saída, mais uma diferença da função arange. Já no segundo foi informado todos os parâmetros.
Funções da Biblioteca wordcloud
A biblioteca wordcloud é uma biblioteca para trabalhar com nuvens de palavras, criando a partir de textos visualizações gráficas bem interessantes em Python. Para mais informações sua principal referencia deve ser a documentação oficia da lib, disponível em amueller.github.io/word_cloud.
Função WordCloud
A função WordCloud está disponível da biblioteca wordcloud, permite a criação de uma nuvem de palavras com Python a partir de uma string, vamos ver um exemplo a seguir.
Nuvem de Palavras Python Simples
Primeiramente, um exemplo de uma nuvem de palavras simples. Sendo assim, podemos construir de uma maneira bem simples uma nuvem de palavras utilizando o Python.
# Importa biblioteca from wordcloud import WordCloud # Importa biblioteca import matplotlib.pyplot as plt # Texto como String texto = '''Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em 1991. Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation.''' # parâmetros para plotagem wc = WordCloud(background_color="white", max_words=1000, contour_width=3, contour_color='firebrick') # Gera a plotagem wc.generate(texto) # Configura Tamanho plt.figure(figsize=[20,10]) # Parametro de exibição plt.imshow(wc, interpolation='bilinear') # Parametro de exibição plt.axis("off") # Exibe a nuvem de palavras plt.show()
Observe a imagem resultado do exemplo de código da nuvem de palavras da forma mais simples possível.
Nuvem de Palavras Python em Figuras
Por fim, um exemplo de uma nuvem de palavras criada dentro de uma imagem. Dessa forma, temos uma nuvem de palavras com o Python mais elaborada.
# Importa biblioteca from wordcloud import WordCloud # Importa biblioteca import matplotlib.pyplot as plt # Importa biblioteca import nltk # Importa biblioteca import numpy as np # Importa biblioteca from PIL import Image # Texto como String texto = '''Python é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. Foi lançada por Guido van Rossum em 1991. Atualmente possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation.''' # Seleciona a imagem para plotagem python = np.array(Image.open('C:\python\python.png')) # parâmetros para plotagem wc = WordCloud(background_color="white", max_words=1000, mask=python, contour_width=3, contour_color='firebrick') # Gera a plotagem wc.generate(texto) # Salva uma cópia na nuvem de palavras wc.to_file('C:\python\python_wordcloud.png') # Configura Tamanho plt.figure(figsize=[20,10]) # Parametro de exibição plt.imshow(wc, interpolation='bilinear') # Parametro de exibição plt.axis("off") # Exibe a nuvem de palavras plt.show()
Já nesta outra imagem o resultado do exemplo da nuvem de palavras com a plotagem em uma figura.
E então, chegamos ao fim das funções finalizando com essa nuvem de palavras com Python.
Funções em Python ao Cubo
Portanto, vimos uma introdução as funções Python com exemplos das bibliotecas matplotlib, nltk, numpy e wordcloud. Dessa forma apresentamos algumas funções básicas de cada uma delas.
E então, chegamos ao fim de mais um conteúdo da série Iniciação em Python – Começando do ZERO. Espero que esse conteúdo sobre funções em Python te ajude na sua jornada e até a próxima! Abraços ao cubo.
Conteúdos ao Cubo
Por fim, deixo sugestões de outros conteúdos que você vai encontrar no Dados ao Cubo, sempre trazendo um pouco do mundo dos dados.
- Classificação com scikit-learn
- NLP com scikit-learn
- Agrupamento com scikit-learn
- Regressão com scikit-learn
- Sistemas de Recomendações com Surprise
- Processamento Paralelo com Python
- Visualização de Dados com Plotly Python
- Importar CSV no BigQuery
Então, finalizo com um convite para você ser Parceiro de Publicação Dados ao Cubo e escrever o próximo artigo, compartilhando conhecimento para toda a comunidade de dados. Mas, não esqueça de assinar a nossa Newsletter para ficar por dentro de todas as novidades.
Apaixonado por dados e tecnologia ❤️ , criando soluções com dados 📊 📈 , desde 2015, sempre buscando tornar os processos orientados! Com formação em Engenharia da Computação 💾 , MBA Gestão da Informação e Business Intelligence e Especialização em Data Science.
Também atuo como professor na área de dados. Nas horas vagas crio modelos de Machine Learning 🤖 com Python em desafios do Kaggle e escrevo no Dados ao Cubo sobre o mundo dos dados 🎲 !
Compartilhando conhecimentos sempre 🚀