0% acharam este documento útil (0 voto)
0 visualizações41 páginas

Python09 Arrays

A aula aborda arrays na biblioteca NumPy, explicando sua estrutura, diferenças em relação a listas e métodos e funções para manipulação. Métodos como concatenate, reshape, e funções como array, zeros, e random são apresentados com exemplos práticos. O conteúdo é voltado para a aplicação eficiente de operações matemáticas em arrays.

Enviado por

ricardo sousa
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
0 visualizações41 páginas

Python09 Arrays

A aula aborda arrays na biblioteca NumPy, explicando sua estrutura, diferenças em relação a listas e métodos e funções para manipulação. Métodos como concatenate, reshape, e funções como array, zeros, e random são apresentados com exemplos práticos. O conteúdo é voltado para a aplicação eficiente de operações matemáticas em arrays.

Enviado por

ricardo sousa
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Aula #9:

Arrays: funções e
métodos

Prof. Dr. Luiz Álvaro de Oliveira Júnior


Objetivos desta aula

• Conceituar array e compreender sua estrutura;


• Compreender a diferença entre arrays e listas;
• Conhecer funções e métodos da biblioteca
NumPy para trabalhar com arrays;
• Aplicar funções e métodos da biblioteca NumPy
para resolver problemas envolvendo arrays;
Sumário
Arrays 04

Métodos para arrays 06

Funções para arrays 14

Exercícios 36
Arrays
Um array é uma estrutura de dados da biblioteca NumPy, capaz
de armazenar diferentes valor em si mesma, permitindo a
execução de cálculos simples e complexos.
Se assemelham às listas, mas armazenam elementos de um
único tipo e oferecem operações matemáticas mais
eficientes que elas, pois as operações valem para todos os
elementos do array.

4
Arrays
Usamos arrays (do NumPy) se precisamos trabalhar com
números e realizar operações matemáticas simples ou
complexas de forma eficiente.
Assim como as listas, os arrays são estruturas de dados
iteráveis, ou seja, podem ter seus elementos percorridos por
alguma estrutura de repetição.
Os arrays são menos versáteis que as listas, que aceitam dados
de tipos diferentes, mas são superiores a elas no que se refere à
performance numérica.

5
Métodos para arrays
Os principais métodos para arrays são mostrados a seguir:
concatenate(): une dois ou mais arrays em um só.
Sintaxe: concatenate ((array1, array2),axis)
Exemplo:
Saída

import numpy as np [1 2 3 4]
a = [Link]([1, 2]) #1D
b = [Link]([3, 4]) #1D Observação: omitindo axis, os
c = [Link]((a, b)) arrays 1D (linha única) terão os
print(c) elementos unidos em sequência.
6
Métodos para arrays
Podemos usar o parâmetro axis para definir como a concatenação
ocorrerá.
Se axis = 0, empilha-se ao longo das linhas (verticalmente).

Saída

a = [Link]([[1, 2], [3, 4]]) [[1 2]


b = [Link]([[5, 6], [7, 8]]) [3 4]
c = [Link]((a, b), axis=0) [5 6]
print(c) [7 8]]

Para concatenar arrays 2D com axis = 0, o número de colunas deve ser igual.

7
Métodos para arrays
Se axis = 1, empilha-se ao longo das colunas (horizontalmente).

Saída

a = [Link]([[1, 2], [3, 4]]) [[1 2 5 6]


b = [Link]([[5, 6], [7, 8]]) [3 4 7 8]]
c = [Link]((a, b), axis=1)
print(c)

Para concatenar arrays 2D com axis = 1, o número de linhas deve ser igual.

8
Métodos para arrays
reshape(): muda a forma do array preservando os elementos.
Sintaxe: reshape(array, forma)
Exemplo:

Saída
import numpy as np [1 2 3 4 5 6]
a = [Link]([1, 2, 3, 4, 5, 6])
b = [Link](a,(3,2)) [[1 2]
print(a) [3 4]
print(b) [5 6]]
Observação: A forma do novo array é definida pelo número de linhas e de
colunas, entre parênteses. No exemplo, (3,2) representa 3 linhas e 2 colunas.
9
Métodos para arrays
resize(): muda a forma do array preenchendo posições vazias.
Sintaxe: resize(array, forma)
Exemplo:

Saída
import numpy as np [[1 2]
a = [Link]([[1, 2],[3, 4],[5, 6]]) [3 4]
b = [Link](a,(2,4)) [5 6]]
print(a) [[1 2 3 4]
print(b) [5 6 1 2]]
Observação: Se o array original tem menos elementos, o método resize
repete os números nas posições vazias até completar.
10
Métodos para arrays
flatten(): achata o array tornando-o unidimensional (linha única).
Sintaxe: flatten()
Exemplo:

Saída
import numpy as np
a = [Link]([[1, 2], [3, 4], [5, 6]]) [[1 2]
b = [Link]() [3 4]
print(a) [5 6]]
print(b) [1 2 3 4 5 6]

11
Métodos para arrays
split(): divide o array em partes menores.
Sintaxe: split(array, partes)
Exemplo:

import numpy as np
a = [Link]([1, 2, 3, 4, 5, 6])
b = [Link](a, 3)
print(b)

Saída

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


12
Métodos para arrays
transpose(): transpõe o array (troca linhas por colunas).
Sintaxe: transpose() ou mais comumente T
Exemplo:

Saída

import numpy as np
[[1 2]
a = [Link]([[1, 2], [3, 4], [5, 6]])
[3 4]
print(a)
[5 6]]
print([Link]())
[[1 3 5]
Observação: print(a.T) também funciona!
[2 4 6]]

13
Funções para arrays
As principais funções para arrays são mostradas a seguir:
array(): cria um array a partir de uma lista de elementos informados.
Sintaxe: [Link](lista)
Exemplo:
Saída

import numpy as np [1 2]
a = [Link]([1, 2])
print(a)

Observação: os elementos são colocados entre [] e separados por vírgulas.


Para arrays 2D, os elementos de uma mesma linha ficam entre [].
14
Funções para arrays
empty(): cria um array vazios com forma definida.
Sintaxe: empty(forma)
Exemplo:
Saída

import numpy as np [[3.834e-315 0.000e+000 6.859e-310]


a = [Link]([2,3]) [3.834e-315 5.838e-317 6.859e-310]]
print(a)

Observação: a função reserva espaço na memória, mas não inicializa as


posições com zeros. O conteúdo inicial será aleatório ou residual a
depender da memória.
15
Funções para arrays
zeros(): cria um array preenchido com zeros.
Sintaxe: zeros(forma)
Exemplo:
Saída

import numpy as np [[0 0 0]


a = [Link]([2,3]) [0 0 0]]
print(a)

Observação: para 1D, informe o número de elementos, para 2D, informe os


números de linhas e de colunas, para 3D, informe três inteiros)

16
Funções para arrays
ones(): cria um array preenchido com 1.
Sintaxe: ones(forma)
Exemplo:
Saída

import numpy as np [[1 1]


a = [Link]([2,2]) [1 1]]
print(a)

Observação: para 1D, informe o número de elementos, para 2D, informe os


números de linhas e de colunas, para 3D, informe três inteiros)

17
Funções para arrays
eye(): cria uma matriz quadrada com 1 na diagonal principal.
Sintaxe: eye(ordem)
Exemplo:
Saída

import numpy as np [[1 0]


a = [Link](2) [0 1]]
print(a)

Observação: ordem se refere à ordem da matriz. É um número inteiro.

18
Funções para arrays
arange(): gera uma sequência numérica com valores espaçados.
Sintaxe: arange(início, fim, passo)
Exemplo:
Saída

import numpy as np [0 2 4 6 8]
a = [Link](0,10,2)
print(a)

Observação: início, fim e passo são números inteiros. Início é includente,


fim é excludente.

19
Funções para arrays
sum(): soma os elementos do array.
Sintaxe: sum(array)
Exemplo:
Saída
import numpy as np somaA = 10
a = [Link]([1, 2, 3, 4]) somaB = 20
b = [Link]([[2, 4],[6, 8]])
somaA = [Link](a)
print("somaA =", somaA)
print("somaB =", [Link](b))

20
Funções para arrays
max(): retorna o maior valor de um array.
Sintaxe: max(array)
Exemplo:
Saída

import numpy as np maior = 104


a = [Link]([[10, 2],[-3, 104]])
maior = [Link](a)
print("maior =", maior)

21
Funções para arrays
min(): retorna o menor valor de um array.
Sintaxe: min(array)
Exemplo:
Saída

import numpy as np menor = -3


a = [Link]([[10, 2],[-3, 104]])
menor = [Link](a)
print("menor =", menor)

22
Funções para arrays
mean(): retorna a média de um array.
Sintaxe: mean(array)
Exemplo:
Saída

import numpy as np media = 25


a = [Link]([10, 20, 30, 40])
media = [Link](a)
print("media =", media)

23
Funções para arrays
intersect1d(): retorna os termos comuns entre dois arrays.
Sintaxe: interserct1d(array)
Exemplo:
Saída

import numpy as np comum = [2 3 4]


a = [Link]([1, 2, 3, 4])
b = [Link]([[3, 4, 5],[6, 8, 2]])
comum = np.intersect1d(a, b)
print("comum = ", comum)

Observação: ordena automaticamente, exige tipos compatíveis mas não a


mesma dimensão e ignora duplicatas.
24
Funções para arrays
Saída

import numpy as np comum ab = [2.0 3.0]


a = [Link]([1, 2, 3, 4]) comum ac = ['3’]
b = [Link]([[0.5, 3.0, 5.0],[6.0, 8.0, 2.0]]) comum ad = [ ]
c = [Link](["0.5", "3", "5", "0"])
d = [Link](["dois","três","quatro"])
comum_ab = np.intersect1d(a, b)
comum_ac = np.intersect1d(a, c)
comum_ad = np.intersect1d(a, d)
print("comum ab = ", comum_ab)
print("comum ac = ", comum_ac)
print("comum ad = ", comum_ad)

Observação: os arrays a, b, c e d são de tipos diferentes, mas a, b e c são


compatíveis entre si. Por outro lado d é incompatível com a, b e c.
25
Funções para arrays
sort(): retorna uma cópia ordenada do array.
Sintaxe: sort(array)
Exemplo:
Saída

import numpy as np a = [10, 2, -3, 104]


a = [Link]([10, 2, -3, 104]) b = [-3, 2, 10, 104]
b = [Link](a)
print("a =", a)
print("b =", b)

26
Funções para arrays
column_stack(): empilha arrays lado a lado (em colunas).
Sintaxe: column_stack((array_1,array_2, ..., array_n))
Exemplo:
Saída

import numpy as np [[7.5 5.5]


[8.0 9.0]
Num_A = [Link]([7.5, 8.0, 6.2, 7.8]) [6.2 4.3]
Num_B= [Link]([5.5, 9.0, 4.3, 9.1]) [7.8 9.1]]

array = np.column_stack((Num_A, Num_B))


print(array)
27
Funções para arrays
round(): arredonda os termos do array por um número especificado
de casas decimais.
Sintaxe: round(array, casas)
Exemplo:
Saída

import numpy as np a = [3.14 2.72]


a = [Link]([3.1415, 2.7182])
print([Link](a, 2))

Observação: a função round segue as regras de arredondamento.

28
Funções para arrays
floor(): arredonda para baixo (menor inteiro mais próximo).
Sintaxe: floor(array)
Exemplo:
Saída

import numpy as np a = [3.0 2.0]


a = [Link]([3.1415, 2.7182])
print([Link](a))

29
Funções para arrays
ceil(): arredonda para cima (maior inteiro mais próximo).
Sintaxe: ceil(array)
Exemplo:
Saída

import numpy as np a = [4.0 3.0]


a = [Link]([3.1415, 2.7182])
print([Link](a))

30
Funções para arrays
trunc(): remove as casas decimais sem arredondar (truncamento).
Sintaxe: trunc(array)
Exemplo:
Saída

import numpy as np a = [3.0 2.0]


a = [Link]([3.1415, 2.7182])
print([Link](a))

31
Funções para arrays
std(): calcula o desvio padrão populacional de um array.
Sintaxe: std(array)
Exemplo:
Saída

import numpy as np desvio = 0.86


notas = [Link]([7.5, 8.0, 9.0, 6.5, 8.5])
desvio = [Link](notas)
print("Desvio:", [Link](desvio,2))

Observação: para calcular o desvio padrão amostral, coloque uma vírgula após o
array e informe ddof = 1 como parâmetro.
32
Funções para arrays
A biblioteca NumPy tem ainda um módulo chamado random que
permite a geração de números aleatórios. Nesse módulo há duas
funções bastante úteis: random e randint.
random(): gera números aleatórios entre 0 e 1.
Sintaxe: random(quantidade)
Exemplo: Saída

import numpy as np a = [0.010214856 0.614894097]


a = [Link](2)
print("a =", a)

33
Funções para arrays
randint(): gera números aleatórios em um intervalo especificado.
Sintaxe: randint(inicio, fim, quantidade)
Exemplo:
Saída

import numpy as np a = [15 8 6 12]


a = [Link](1,20,4)
print("a =", a)

Observação: início, fim e quantidade são números inteiros. Início é inclusivo, fim
é exclusivo e se não informar quantidade, apenas um número aleatório será
gerado no intervalo especificado.
34
Funções para arrays
uniform(): gera números aleatórios decimais em um intervalo.
Sintaxe: uniform(inicio, fim, quantidade)
Exemplo:
Saída

import numpy as np a = [6.21 9.48 7.73 8.25]


a = [Link](0,10,4)
print("a =", a)

Observação: início, fim e quantidade são números inteiros. Início é inclusivo, fim
é exclusivo e se não informar quantidade, apenas um número aleatório será
gerado no intervalo especificado.
35
Exercícios

36
Exercício #1
Escreva um programa em Python que solicite ao professor as notas
das turma A01/1 e A01/2 de Programação Estruturada. Em seguida
faça:
a) Junte as informações das duas turmas em um único array;
b) Ordene as notas;
c) Organize o array em duas colunas, de forma que as notas da
turma A01/1 estejam na primeira coluna e as notas da turma
A01/2 estejam na segunda coluna.

37
import numpy as np

dados = int(input("Digite o número de alunos: "))


notas1 = [Link](dados)
notas2 = [Link](dados)

print("Digite as notas da turma A01/1")


for i in range(dados):
notas1[i] = float(input(f"Digite a nota do aluno {i+1}: "))

print("Digite as notas da turma A01/2")


for i in range(dados):
notas2[i] = float(input(f"Digite a nota do aluno {i+1}: "))

notasA01 = [Link]((notas1,notas2)) #Letra (a)


print("Notas A01: ",notasA01)
ranking = [Link](notasA01) #Letra (b)
print("Ranking: ",ranking)
tabela_notas = np.column_stack((notas1,notas2)) #Letra (c)
print(tabela_notas) 38
Exercício #2
Escreva um programa em Python que calcule a média, o maior
valor, o menor valor e o desvio padrão dos dados obtidos em um
experimento realizado no laboratório. O programa deve:
• Solicitar que o usuário informe os dados individualmente;
• Calcular o maior valor e o menor valor da amostra;
• Calcular a média aritmética;
• Calcular o desvio padrão amostral;
• Utilizar funções da biblioteca numpy para resolver o problema.

39
import numpy as np

dados = int(input("Digite o número de valores: "))


x = [Link](dados)

for i in range(dados):
x[i] = float(input(f"Digite o valor {i}: "))

media = [Link](x)
maior = [Link](x)
menor = [Link](x)
desvio = [Link](x, ddof=1)

print(f"Valor mínimo = {menor:.2f}, Valor máximo = {maior:.2f}")


print(f"Média = {media:.2f}, Desvio padrão = {desvio:.2f}")

40
41

Você também pode gostar