Executando verificação de segurança...
5

[DATA SCIENCE] DAY: 001 - Manipulando arrays com numpy

Fala pessoal, tudo bem com vocês? Feliz ano novo!

🔔 Hoje vamos dar início nessa jornada dos dados, começando a utilizar uma biblioteca bem requisitada chamada Numpy.

Objetivo:

  • Manipular um array usando numpy;

1 - Primeiro, vamos importar a biblioteca numpy e o randn(gera números aleatórios a partir de uma distribuição normal ):

💻
import numpy as np
from numpy.random import randn

2 - Agora, iremos utilizar o método set_printoptions como opção de formatação, para o número de casas decimais exibidas:

💻
np.set_printoptions(precision=2)

3 - Vamos criar nossa primeira variável com array:

💻
a = np.array([1, 2, 3, 4, 5, 6])

array([1, 2, 3, 4, 5, 6])

4 - Agora iremos utilizar o método random.seed do NumPy, onde é usado para definir a "semente" do gerador de números aleatórios do NumPy. Isso é útil porque, embora os números gerados pelo gerador de números aleatórios pareçam ser aleatórios, eles são gerados a partir de um algoritmo determinístico.

E logo em seguida criaremos uma segunda variável com o método randn para para gerar números aleatórios:

💻
np.random.seed(25)
b = randn(6)

array([ 0.22827309, 1.0268903 , -0.83958485, -0.59118152, -0.9568883 ,
-0.22232569])

5 - Criaremos agora uma variável utilizando o método arange do numpy, onde é usado para criar um array contendo uma sequência de números. Ele funciona de forma semelhante à função range do Python, mas ao invés de retornar uma sequência de números, ele retorna um array NumPy.

💻
c = np.arange(1, 35)

array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34])

Por último, vamos brincar com as variáveis utilizando os principais métodos aritméticos da matemática:

a + b

array([1.23, 3.03, 2.16, 3.41, 4.04, 5.78])

a * 10

array([10, 20, 30, 40, 50, 60])

a / b

array([ 4.38, 1.95, -3.57, -6.77, -5.23, -26.99])

a - b

array([0.77, 0.97, 3.84, 4.59, 5.96, 6.22])

☀️ Espero que tenham gostado do conteúdo, é simples, mas juntos somos a força!
Vejo vocês amanhã com conteúdo sobre matrizes...

🌌 See you later!

Data Science

Carregando publicação patrocinada...
2

Bom dia onlyDataFans,

Muito legal que você tenha explicado sobre o numpy e queria contribuir só com o porquê que ele geralmente é o segundo pacote a ser importado (logo após o pandas).

O numpy tem uma performance excelente por vários motivos, mas dois principais:

  • Ser escrito em C (que indiscutivelmente é uma linguagem com performance).
  • Permitir vetorização (operação com grandes números de elementos simultaneamente)

Então até um filtro utilizando numpy consegue ser mais rápido que o pandas (somente tem que ver se para legibilidade vale a pena).

E para terminar, fiz um teste com duas operações diferentes numpy e list comprehension (que é considerado o método mais rápido para criar listas - onlyDataFans inclui aí na lista de post 😂) e o numpy consumiu somente 17% do tempo que o list comprehension utilizaria, mostrando realmente que é muito eficiente.

1

Bom dia GTEX,

Que legal, não sabia que numpy foi feito em C e também não conhecia o list comprehension. Uso o numpy para valores multi-dimensionais e matrizes. Pode deixar que vou acrescentar na lista, hehe. Obrigado pela dica, amigo!

2
1

Muito obrigado pelo conteúdo, estou començando agora a estudar python com foco em data science e ainda é um pouco confuso para mim.

Tenho uma dúvida, nump e panda fazem a mesma coisa? Ou tem objetivos diferentes ?

1

Bom dia meu caro DinizJP1. Você está no lugar certo, aqui estou passando o conteúdo do zero até o que eu aprendi no momento, convido a me acompanhar nessa jornada.

Em relação a sua dúvida, posso dizer que Numpy é uma biblioteca de computação científica para Python que fornece suporte para arrays multidimensionais e operações matemáticas avançadas com esses arrays.

Já o Pandas é uma biblioteca de manipulação de dados para Python que fornece estruturas de dados flexíveis e ferramentas para análise de dados.

Enquanto o Numpy é principalmente usado para trabalhar com dados numéricos, o Pandas é usado para trabalhar com tabelas de dados (como planilhas do Excel) e séries temporais.

Qualquer dúvida, não hesite em perguntar. Gratidão!

1