Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferença de Array (Numpy) e Dictionary (Pandas)

Gostaria de saber qual a diferença entre as arrays do numpy e os dictionaries do pandas, para conseguir definir qual é mais adequado de utilizar em cada tipo de situação. Grato desde já.

1 resposta
solução!

Oii Vitor! Tudo bem com você?

Na verdade, os dicionários são um tipo de estrutura de dados nativo da linguagem Python e não especificamente da biblioteca pandas.

Então, vamos lá entender um pouco das diferenças dessas estruturas.

1 - Arrays numpy: são estruturas de dados fornecidas pela biblioteca numpy. Esses arrays são projetados para lidar com grandes conjuntos de dados com eficiência e facilidade, principalmente quando se trata de conjuntos numéricos. A biblioteca numpy possui diversas funcionalidades que podem ser utilizadas para manipular e transformar essas estruturas de dados. E além disso, também é possível criar arrays numpy com mais de uma dimensão.

Vou deixar aqui alguns trechos de código mostrando um pouco mais sobre os arrays numpy.

import numpy as np

# criando um array de uma dimensao
array_numpy = np.array([1, 2, 3, 4, 5])
array_numpy

# Resultado
array([1, 2, 3, 4, 5])


# acessando apenas um elemento do array
array_numpy[1]

# Resultado
2


# criando um array de duas dimensões
array_numpy = np.array([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]])
array_numpy

# Resultado
array([[1, 2, 3, 4, 5],
       [1, 2, 3, 4, 5]])


# manipulando arrays numpy 
array_1 = np.array([1, 2, 3, 4, 5])
array_2 = np.array([6, 7, 8, 9, 10])

soma = array_1 + array_2
subtracao = array_1 - array_2
multiplicacao = array_1 * array_2

print('Soma\n', soma)
print('Subtração\n', subtracao)
print('Multiplicação\n', multiplicacao)

# Resultado
Soma
 [ 7  9 11 13 15]
Subtração
 [-5 -5 -5 -5 -5]
Multiplicação
 [ 6 14 24 36 50]

2 - Dicionários: os dicionários são um tipo de estrutura de dados na qual seus elementos são indexados por “chaves” que podem ser strings ou números (não necessariamente em ordem). Uma característica que difere bastante os dicionários dos outros tipos de estruturas de dados é a não obrigatoriedade de uma ordenação nos seus elementos. Isso porque, os valores dos dicionários sempre serão acessados por meio das chaves, e não de índices, como é o caso das listas e dos arrays, por exemplo. Outra característica muito importante dos dicionários é que um mesmo dicionário não pode ter chaves com nomes repetidos.

Vamos ver aqui alguns exemplos de dicionários para entendermos melhor.

# criando um dicionário
quarto  =  { "Emma" : 309 ,  "Jacob" : 582 ,  "Olivia" : 764 }
quarto

# Resultado
{'Emma': 309, 'Jacob': 582, 'Olivia': 764}


# acessando apenas um elemento do dicionário pela chave
quarto['Jacob']

# Resultado
582


# visualizando apenas as chaves do dicionário
quarto.keys()

# Resultado
dict_keys(['Emma', 'Jacob', 'Olivia'])


# visualizando apenas os valores do dicionario
quarto.values()

# Resultado
dict_values([309, 582, 764])

Espero que isso te ajude a entender melhor um pouquinho da diferença entre essas estruturas de dados :)

Mas ainda existem muitas outras diferenças e vantagens em utilizar cada um deles, vou deixar aqui algumas sugestões de leitura caso você queira explorar um pouco mais:

Qualquer dúvida estou a disposição.

Bons estudos!