#6 - Matriz de dados existentes com Numpy

Neste capítulo, discutiremos como criar uma matriz a partir de dados existentes.

Imagem de capa

numpy.asarray

Essa função é semelhante ao numpy.array, exceto pelo fato de ter menos parâmetros. Essa rotina é útil para converter a sequência Python em ndarray.

numpy.asarray(a, dtype = None, order = None)

O construtor usa os seguintes parâmetros.

Parâmetro & Descrição
1

a

Insira dados de qualquer forma, como lista, lista de tuplas, tuplas, tupla de tuplas ou tupla de listas

2

dtype

Por padrão, o tipo de dado de entrada é aplicado ao ndarray resultante

3

order

C (linha principal) ou F (coluna principal). C é o padrão

Os exemplos a seguir mostram como você pode usar a função asarray .

Exemplo 1

# converte lista para ndarray
import numpy as np

x = [1,2,3]
a = np.asarray(x)
print a

Sua saída seria a seguinte -

[1 2 3]

Exemplo 2

# seta o tipo do dado (dtype)
import numpy as np

x = [1,2,3]
a = np.asarray(x, dtype = float)
print a

Agora, a saída seria a seguinte -

[1. 2. 3.]

Exemplo 3

# ndarray da tupla
import numpy as np

x = (1,2,3)
a = np.asarray(x)
print a

Sua saída seria -

[1 2 3]

Exemplo 4

# ndarray da lista de tuplas
import numpy as np

x = [(1,2,3),(4,5)]
a = np.asarray(x)
print a

Aqui, a saída seria a seguinte -

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

numpy.frombuffer

Esta função interpreta um buffer como matriz unidimensional. Qualquer objeto que expõe a interface do buffer é usado como parâmetro para retornar um ndarray .

numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)

O construtor usa os seguintes parâmetros.

Parâmetro & Descrição
1

buffer

Qualquer objeto que expõe a interface do buffer

2

dtype

Tipo de dados do ndarray retornado. O padrão é float

3

count

O número de itens a serem lidos, o padrão -1 significa todos os dados

4

offset

A posição inicial para ler. O padrão é 0

Exemplo

Os exemplos a seguir demonstram o uso da função frombuffer.

import numpy as np
s = 'Hello World'
a = np.frombuffer(s, dtype = 'S1')
print a

Aqui está sua saída -

['H' 'e' 'l' 'l' 'o' ' ' 'W' 'o' 'r' 'l' 'd']

numpy.fromiter

Essa função cria um objeto ndarray a partir de qualquer objeto iterável. Uma nova matriz unidimensional é retornada por esta função.

numpy.fromiter(iterable, dtype, count = -1)

Aqui, o construtor usa os seguintes parâmetros.

Parâmetro & Descrição
1

iterable

Qualquer objeto iterável

2

dtype

Tipo de dados da matriz resultante

3

count

O número de itens a serem lidos no iterador. O padrão é -1, o que significa que todos os dados devem ser lidos

Os exemplos a seguir mostram como usar a função range() interna para retornar um objeto de lista. Um iterador desta lista é usado para formar um objeto ndarray.

Exemplo 1

# cria uma lista de objetos usando a função range
import numpy as np
list = range(5)
print list

Sua saída é a seguinte -

[0 1 2 3 4]

Exemplo 2

# obtem o objeto iterador da lista
import numpy as np
list = range(5)
it = iter(list)

# usa o iterador para criar o ndarray
x = np.fromiter(it, dtype = float)
print x

Agora, a saída seria a seguinte -

[0. 1. 2. 3. 4.]

Fonte traduzida com adaptações: NumPy - Array From Existing Data