Pandas converte coluna para int

Pandas converte coluna para int
Pandas é uma biblioteca Python gratuita e de código aberto que fornece estruturas de dados rápidas, flexíveis e expressivas que facilitam o trabalho com dados científicos.

Pandas é um dos pacotes de dados e manipulação mais valiosos do Python.

Ele oferece recursos como estruturas de dados personalizadas que são construídas sobre o Python.

Este artigo discutirá a conversão de uma coluna de um tipo de dados em um tipo int em um quadro de dados de pandas.

Configurando pandas

Antes de mergulhar em como executar a operação de conversão, precisamos configurar pandas em nosso ambiente Python.

Se você estiver usando o ambiente base no intérprete da Anaconda, é provável que você tenha pandas instaladas.

No entanto, em uma instalação nativa do Python, você precisará instalá -lo manualmente.

Você pode fazer isso executando o comando:

$ pip install pandas

No Linux, execute

$ sudo pip3 install pandas

Nos ambientes Anaconda ou Miniconda, instale pandas com conda.

$ conda install pandas
$ sudo conda install pandas

Pandas criam amostra de dados de dados

Vamos configurar uma amostra de dados de dados para fins de ilustração neste tutorial. Você pode copiar o código abaixo ou usar seu quadro de dados.

importar pandas como PD
df = pd.Dataframe ('id': ['1', '2', '3', '4', '5'],
'Nome': ['Marja Jérôme', 'Alexios Shiva', 'Mohan Famke', 'Lovrenco Ilar', 'Steffen Angus'],
'Pontos': ['50000', '70899', '70000', '81000', '110000'])

Depois que o DataFrame for criado, podemos verificar os dados.

Pandas Show Tipo de coluna

É bom saber se o tipo existente pode ser fundido para um INT antes de converter uma coluna de um tipo para um int.

Por exemplo, tentar converter uma coluna que contém nomes não pode ser convertida em um int.

Podemos visualizar o tipo de data de dados usando a propriedade DTypes

Use a sintaxe:

Quadro de dados.dtypes

Em nossa amostra de dados de dados, podemos obter os tipos de coluna como:

df.dtypes
objeto de identificação
objeto de nome
objeto de pontos
dtype: objeto

Podemos ver na saída acima que nenhuma das colunas possui um tipo int.

Pandas converte coluna de string para int.

Para converter uma única coluna em um INT, usamos a função ASTYPE () e passamos o tipo de dados de destino como o parâmetro.

A sintaxe da função:

Quadro de dados.astype (dtype, cópia = true, erros = 'raise')
  1. dtype - especifica o tipo python ou um dtype numpy para o qual o objeto é convertido.
  2. cópia - permite que você retorne uma cópia do objeto em vez de agir no lugar.
  3. erros - especifica a ação em caso de erro. Por padrão, a função aumentará os erros.

Em nossa amostra, DataFrame, podemos converter a coluna ID em tipo int usando a função ASTYPE (), conforme mostrado no código abaixo:

df ['id'] = df ['id'].ASTYPE (INT)

O código acima especifica a coluna 'ID' como o objeto de destino. Em seguida, passamos um int como o tipo para a função astype ().

Podemos verificar o novo tipo de dados para cada coluna no DataFrame:

df.dtypes
ID INT32
objeto de nome
objeto de pontos
dtype: objeto

A coluna de identificação foi convertida em um INT enquanto o resto permanece inalterado.

Os pandas convertem várias colunas para int

A função ASTYPE () nos permite converter mais de uma coluna e convertê -los em um tipo específico.

Por exemplo, podemos executar o seguinte código para converter as colunas de ID e pontos para int tipo.

df [['id', 'pontos']] = df [['id', 'pontos']]].ASTYPE (INT)

Aqui, estamos especificando várias colunas usando a notação de suporte quadrado. Isso nos permite converter as colunas para o tipo de dados especificado na função ASTYPE ().

Se verificarmos o tipo de coluna, devemos ver uma saída:

df.dtypes
ID INT32
objeto de nome
PONTOS INT32
dtype: objeto

Agora podemos ver que a coluna ID e pontos foi convertida em tipo int32.

Os pandas convertem várias colunas em vários tipos

A função ASTYPE () nos permite especificar uma coluna e tipo de destino como um dicionário.

Suponha que queremos converter a coluna ID para INT32 e a coluna de pontos para Float64.

Podemos executar o seguinte código:

convert_to = "id": int, "pontos": float
df = df.astype (convert_to)

No código acima, começamos definindo um dicionário mantendo a coluna alvo como a chave e o tipo de destino como o valor.

Em seguida, usamos a função ASTYPE () para converter as colunas no dicionário nos tipos de conjunto.

Verificar os tipos de coluna deve retornar:

df.dtypes
ID INT32
objeto de nome
Pontos Float64
dtype: objeto

Observe que a coluna ID é int32 e a coluna de pontos é do tipo float32.

Pandas converte coluna para int - to_numeric ()

Pandas também nos fornece a função to_numeric (). Esta função nos permite converter uma coluna em um tipo numérico.

A sintaxe da função é como mostrado:

Pandas.to_numeric (arg, erros = 'raise', abatido = nenhum)

Por exemplo, para converter a coluna ID para numérico em nosso amostra de dados de dados, podemos executar:

df ['id'] = pd.to_numeric (df ['id'])

O código deve pegar a coluna de identificação e convertê -la em um tipo int.

Os pandas convertem dataframe para o melhor tipo de dados possível

A função convert_dtypes () em pandas nos permite converter um quadro de dados inteiro para o tipo possível mais próximo.

A sintaxe da função é como mostrado:

Quadro de dados.convert_dtypes (infer_objects = true, convert_string = true,
convert_integer = true, convert_boolean = true, convert_floating = true)

Você pode verificar os documentos no recurso abaixo:

https: // pandas.pydata.org/docs/reference/api/pandas.Quadro de dados.convert_dtypes.html

Por exemplo, para converter nossa amostra de quadro de dados para o tipo possível mais próximo, podemos executar:

df = df.convert_dtypes ()

Se verificarmos o tipo:

df.dtypes
ID INT32
String de nome
Pontos Int64
dtype: objeto

Você notará que cada coluna foi convertida para o tipo apropriado mais próximo. Por exemplo, a função converte pequenos ints em tipo int32.

Da mesma forma, a coluna de nomes é convertida em tipo de string, pois contém valores de string.

Finalmente, como a coluna de pontos contém números inteiros, ela é convertida em um tipo INT64.

Conclusão

Neste artigo, demos métodos detalhados e exemplos de conversão de um quadro de dados de um tipo para outro.