Tipos de Dados NumPy

Tipos de dados no Python

Por padrão, o Python possui os seguintes tipos de dados:

  • strings - Usado para representar dados de texto, texto entre aspas. Por exemplo "ABCD".
  • integer - Usado para representar inteiros. Por exemplo -1, -2, -3.
  • float - Usado para representar números reais. Por exemplo 1.2, 42.42.
  • boolean - Usado para representar True ou False.
  • complex - Usado para representar números no plano complexo. Por exemplo 1.0 + 2.0j, 1.5 + 2.5j.

Tipos de dados no NumPy

O NumPy tem alguns tipos de dados adicionais, que são referenciados por um caractere, por exemplo i Representa inteiros,u Representa inteiros sem sinal, etc.

Aqui está a lista de todos os tipos de dados no NumPy e os caracteres usados para representá-los.

  • i - Inteiro
  • b - Booleano
  • u - Inteiro sem sinal
  • f - Ponto flutuante
  • c - Número de ponto flutuante composto
  • m - Timedelta
  • M - Datetime
  • O - Objeto
  • S - String
  • U - String unicode
  • V - Bloco de memória de tipo fixo de outros tipos (void)

Verifique o tipo de dados do array

O objeto do array NumPy tem um nome chamado dtype A propriedade que retorna o tipo de dados do array:

Exemplo

Obtenha o tipo de dados do objeto do array:

import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.dtype)

Executar Exemplo

Exemplo

Obtenha o tipo de dados do array contendo strings:

import numpy as np
arr = np.array(['apple', 'banana', 'cherry'])
print(arr.dtype)

Executar Exemplo

Para criar arrays com tipos de dados definidos

Usamos array() A função para criar arrays, que pode usar parâmetros opcionais:dtypeele nos permite definir o tipo de dados esperado dos elementos do array:

Exemplo

Crie um array usando uma string de tipo de dados:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='S')
print(arr)
print(arr.dtype)

Executar Exemplo

Para iufS e Utambém podemos definir o tamanho.

Exemplo

Crie um array de inteiro de 4 bytes:

import numpy as np
arr = np.array([1, 2, 3, 4], dtype='i4')
print(arr)
print(arr.dtype)

Executar Exemplo

E se o valor não puder ser convertido?

Se for fornecido um tipo de elemento que não pode ser convertido forçadamente, o NumPy gerará um ValueError.

ValueError: Em Python, se o tipo do parâmetro passado para a função não for esperado ou incorreto, será lançado um ValueError.

Exemplo

Erro de Valor: Em Python, se o tipo do parâmetro passado para a função não for esperado ou incorreto, será lançado um ValueError.

import numpy as np
arr = np.array(['a', '2', '3'], dtype='i')

Executar Exemplo

Converter o tipo de dados de um array existente

A melhor maneira de alterar o tipo de dados de um array existente é usar astype() método copia o array.

astype() A função cria uma cópia do array e permite que você especifique o tipo de dados como parâmetro.

Os tipos de dados podem ser especificados como strings, por exemplo 'f' representa ponto flutuante,'i' representa inteiro, etc. Você também pode usar diretamente o tipo de dados, por exemplo float representa ponto flutuante,int representa inteiro.

Exemplo

Usando 'i' Como valor de parâmetro, mudar o tipo de dados de ponto flutuante para inteiro:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype('i')
print(newarr)
print(newarr.dtype)

Executar Exemplo

Exemplo

Usando int Como valor de parâmetro, mudar o tipo de dados de ponto flutuante para inteiro:

import numpy as np
arr = np.array([1.1, 2.1, 3.1])
newarr = arr.astype(int)
print(newarr)
print(newarr.dtype)

Executar Exemplo

Exemplo

Mudar o tipo de dados de inteiro para booleano:

import numpy as np
arr = np.array([1, 0, 3])
newarr = arr.astype(bool)
print(newarr)
print(newarr.dtype)

Executar Exemplo