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 pandasNo Linux, execute
$ sudo pip3 install pandasNos ambientes Anaconda ou Miniconda, instale pandas com conda.
$ conda install pandasPandas 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 PDDepois 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.dtypesEm nossa amostra de dados de dados, podemos obter os tipos de coluna como:
df.dtypesPodemos 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')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.dtypesA 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.dtypesAgora 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": floatNo 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.dtypesObserve 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,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.dtypesVocê 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.