Introdução aos tipos de dados NumPy

Um tipo de dados é um atributo associado aos dados que define o tipo de valores que os dados podem conter, o tipo de operações que podem ser executadas nele e, o mais importante, a quantidade de espaço de memória exigida por ele. Alguns dos tipos de dados muito comuns são inteiro, real, booleano e char. Neste artigo, tentaremos entender vários tipos de dados suportados pelo Numpy. Numpy é um pacote python usado para computação científica. É puramente escrito na linguagem de programação C. Portanto, podemos assumir que os tipos de dados no Numpy são mais ou menos uma atualização dos tipos de dados C.

Tipos de dados Numpy

Os vários tipos de dados suportados pelo numpy são:

Tipo de dados NumpyTipo de dados C estreitamente associadoTamanho de armazenamentoDescrição
np.bool_bool1 bytepode conter valores booleanos, como (Verdadeiro ou Falso) ou (0 ou 1)
np.bytechar assinado1 bytepode conter valores de 0 a 255
np.ubytecaracter não identifcado1 bytepode conter valores de -128 a 127
np.shortassinado curto2 bytespode conter valores de -32.768 a 32.767
np.ushortcurto não assinado2 bytespode conter valores de 0 a 65.535
np.uintcunsigned int2 ou 4 bytespode conter valores de 0 a 65.535 ou 0 a 4.294.967.295
np.int_grandes8 bytespode armazenar valores de -9223372036854775808 a 9223372036854775807
np.uintnão assinado por muito tempo8 bytes0 a 18446744073709551615
np.longlonglongo longo8 bytespode armazenar valores de -9223372036854775808 a 9223372036854775807
np.ulonglongnão assinado por muito tempo8 bytes0 a 18446744073709551615
np.half / np.float16-permite precisão de meio flutuador com
Formato: bit de sinal, expoente de 5 bits, mantissa de 10 bits
np.singleflutuador4 bytespermite precisão de flutuador único
Formato: bit de sinal, expoente de 8 bits, mantissa de 23 bits
np.doubleDuplo8 bytespermite precisão de flutuação dupla
Formato: bit de sinal, expoente de 11 bits, mantissa de 52 bits.
np.longdoublelongo duplo8 bytesextensão de flutuador
np.csinglecomplexo de flutuação8 bytespode ser complexo com peças reais e imaginárias até
flutuador de precisão única
np.cdoublecomplexo duplo16 bytespode ser complexo com peças reais e imaginárias até
flutuador de precisão dupla
np.clongdoublecomplexo duplo longo16 bytesextensão de flutuador para número complexo
np.int8int8_t1 bytepode conter valores de -128 a 127
np.int16int16_t2 bytespode conter valores de -32.768 a 32.767
np.int32int32_t4 bytespode conter valores de -2.147.483.648 a 2.147.483.647
np.int64int64_t8 bytespode armazenar valores de -9223372036854775808 a 9223372036854775807
np.uint8uint8_t1 bytepode conter valores de 0 a 255
np.uint16uint16_t2 bytespode conter valores de 0 a 65.535
np.uint32uint32_t4 bytespode conter valores de 0 a 4.294.967.295
np.uint64uint64_t8 bytespode conter valores de 0 a 18446744073709551615
np.intpintptr_t4 bytesum número inteiro assinado usado para indexação
np.uintpuintptr_t4 bytesum número inteiro não assinado usado para segurar um ponteiro
np.float32flutuador4 bytesprecisão de flutuador único
np.float64Duplo8 bytesprecisão de flutuador duplo
np.complex64complexo de flutuação8 bytesprecisão de flutuador único em números complexos
np.complex128complexo duplo16 bytesprecisão de flutuação dupla em números complexos

Exemplos de tipos de dados NumPy

Agora, vamos entender como um tipo de dados numpy específico é usado.

Exemplo 1

Criando um objeto de tipo de dados

dt = np.dtype(np.int8)

Resultado:

Exemplo 2

Localizando o tamanho de um tipo de dados

dt = np.dtype(np.int8)
name = dt.name
sizeoftype = dt.itemsize
print('name:', name, 'size:', sizeoftype)

Resultado:

Exemplo 3

Criando um objeto de tipo de dados usando símbolos exclusivos para cada tipo de dados

Cada tipo de dado em numpy possui um código de caractere associado que o identifica exclusivamente.

dt = np.dtype('i4')

Resultado:

Exemplo 4

Usando tipos de dados para criar uma matriz estruturada

employee_info = np.dtype((('name', 'S10'), ('age', 'i1'), ('salary', 'f4'), ('rating', 'f4')))
print(employee_info)

Resultado:

a = np.array((('Karthik', 31, 20000, 3.84), ('Rita', 25, 25123.34, 4.41)), dtype = employee_info)
print (a)

Resultado:

Conclusão

Os tipos de dados numpy são mais ou menos como os tipos de dados C. Eles podem ser categorizados em bool, byte, int, float, double e complex. É uma obrigação para bons programadores entender como os dados são armazenados e manipulados. Isso pode ser alcançado através da compreensão eficaz dos tipos de dados.

Artigos recomendados

Este é um guia para os tipos de dados NumPy. Aqui discutimos como um determinado tipo de dados numpy é usado junto com os exemplos. Você também pode consultar os seguintes artigos para saber mais -

  1. O que é o NumPy?
  2. Matplotlib em Python
  3. Tipos de dados Python
  4. Dicionário em Python

Categoria: