NumPy - Array de Dados Existentes
Neste capítulo, discutiremos como criar um array a partir de dados existentes.
numpy.asarray
Essa função é semelhante a numpy.array, exceto pelo fato de que tem menos parâmetros. Esta rotina é útil para converter a sequência Python em ndarray.
numpy.asarray(a, dtype = None, order = None)
O construtor assume os seguintes parâmetros.
Sr. Não. | Parâmetro e Descrição |
---|---|
1 | a Dados de entrada em qualquer formato, como lista, lista de tuplas, tuplas, tupla de tuplas ou tupla de listas |
2 | dtype Por padrão, o tipo de dados 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 o asarray função.
Exemplo 1
# convert list to 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
# dtype is set
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 from tuple
import numpy as np
x = (1,2,3)
a = np.asarray(x)
print a
Sua saída seria -
[1 2 3]
Exemplo 4
# ndarray from list of tuples
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 uma matriz unidimensional. Qualquer objeto que expõe a interface do buffer é usado como parâmetro para retornar umndarray.
numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)
O construtor assume os seguintes parâmetros.
Sr. Não. | Parâmetro e Descrição |
---|---|
1 | buffer Qualquer objeto que expõe interface de buffer |
2 | dtype Tipo de dados do ndarray retornado. O padrão é flutuar |
3 | count O número de itens a serem lidos, padrão -1 significa todos os dados |
4 | offset A posição inicial a partir da qual ler. O padrão é 0 |
Exemplo
Os exemplos a seguir demonstram o uso de frombuffer função.
import numpy as np
s = 'Hello World'
a = np.frombuffer(s, dtype = 'S1')
print a
Aqui está o resultado -
['H' 'e' 'l' 'l' 'o' ' ' 'W' 'o' 'r' 'l' 'd']
numpy.fromiter
Esta função constrói um ndarrayobjeto 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.
Sr. Não. | Parâmetro e 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 do iterador. O padrão é -1, o que significa que todos os dados devem ser lidos |
Os exemplos a seguir mostram como usar o integrado range()função para retornar um objeto de lista. Um iterador desta lista é usado para formar umndarray objeto.
Exemplo 1
# create list object using range function
import numpy as np
list = range(5)
print list
Sua saída é a seguinte -
[0, 1, 2, 3, 4]
Exemplo 2
# obtain iterator object from list
import numpy as np
list = range(5)
it = iter(list)
# use iterator to create ndarray
x = np.fromiter(it, dtype = float)
print x
Agora, a saída seria a seguinte -
[0. 1. 2. 3. 4.]