Pandas Alterar tipo de coluna

Pandas Alterar tipo de coluna
No contexto da programação, uma coluna é um grupo de valores de dados que são todos os mesmos tipos e encontrados em uma tabela, série, dataframe, etc. quando discutido. Os dados são organizados verticalmente em uma coluna de cima para baixo. Ao usar o quadro de dados do Pandas, a necessidade pode surgir para alterar o tipo de dados específico para todas as colunas de um quadro de dados de pandas já criado. O objetivo deste artigo é explicar como o tipo de dados da coluna pode ser alterado nos quadros de dados do pandas. Usaremos as diferentes funções para alterar o tipo de dados de uma ou várias colunas dentro do quadro de dados de pandas.

Como alterar o tipo de dados da coluna em pandas

Diferentes funções em pandas podem ser usadas para alterar o tipo de dados de colunas em um quadro de dados. Nos exemplos a seguir, explicaremos em detalhes como você pode alterar os tipos de dados das colunas no DataFrame.

Exemplo 1: Usando o DataFrame.função astype ()

Para criar uma amostra de quadro de dados, primeiro importaremos os pandas como PD para usar as funcionalidades fornecidas por ele. Para demonstrar o funcionamento da função ASTYPE (), criamos um quadro de dados com três colunas de diferentes tipos de dados. Usando o DataFrame.Método ASTYPE (), podemos converter um objeto de pandas em um dtype necessário. Além disso, esse método permite que os usuários alterem qualquer coluna (adequada) do quadro de dados para um tipo de categoria.


Como pode ser visto na ilustração anterior, criamos três colunas: X, Y e Z. Onde a coluna X consiste nos valores de int e string ['2', 4, 6, '8' e 10], a coluna Y possui apenas valores de string ['p', 'q', 'r', 's', 't'], e a coluna Z consiste em valores de flutuação e string. Para visualizar o tipo de dados de cada coluna em nosso quadro de dados, o atributo dTypes é usado. O atributo "dtypes" pode ser usado para determinar o tipo de dados em um quadro de dados de pandas, uma série que compreende os tipos de dados de cada coluna retornada pelo atributo.


Como pode ser visto na ilustração pevious, o tipo de dados de cada coluna é mostrado como "objeto". Como você deve notar, há pelo menos um valor de string em cada coluna (x, y e z) do quadro de dados. Portanto, o atributo dtype considera o tipo de dados de cada coluna como um "objeto". Agora, vamos alterar o tipo de dados da coluna X usando a função ASTYPE ().


Atribuímos o INT Datatype para a coluna X do nosso DataFrame "df" e atribuímos o novo DataFrame à variável denominada "DF". Agora, podemos verificar usando o atributo dtypes se o tipo de dados da coluna X é alterado ou não.


Pode -se observar que o tipo de dados da coluna X é alterado de objeto para "int32". Você pode definir um único tipo de dados para todo o quadro de dados ou separadamente para cada quadro de dados da coluna usando um dicionário Python. Vamos especificar os diferentes tipos de dados para cada coluna do quadro de dados usando um dicionário.


No dicionário anterior, especificamos o tipo de dados "int" a x coluna, datatype "string" para y coluna e datatype "float" para z coluna do "df" dataframe. Ao usar o atributo dtypes, vamos verificar os tipos de dados atuais de colunas x, y e z em nosso quadro de dados.


Os tipos de dados de cada coluna são alterados com sucesso. Também podemos usar a função ASTYPE () para especificar um único tipo de dados para todas as colunas do nosso quadro de dados.


Usamos o método astype () para o nosso quadro de dados "df" e passamos o tipo de dados "string" como um argumento para alterar o tipo de dados de cada coluna para "objeto".

Exemplo 2: Usando a função to_numeric ()

Aplicar () nos permite converter o tipo de dados de colunas específicas ou todas para Int/Float, DateTime ou Time Delta, passando as opções “Pandas.to_numeric, ”“ Pandas.To_DateTime "e" Pandas.to_timedelta ”. Dependendo dos valores presentes na coluna, a função to_numeric () altera o tipo de dados de uma coluna DataFrame para um int ou flutuante. O tipo de dados da coluna é alterado para "Int64" se contiver apenas números inteiros. O tipo de dados da coluna é convertido em "float64" usando o to_numeric () se contiver valores com pontos decimais. Para explicar isso com a ajuda de um exemplo, vamos criar um quadro de dados com string datatype, mas usamos os valores inteiros como "strings".


Nós importamos os módulos pandas e numpy primeiro. Em seguida, criamos o quadro de dados usando o PD.Função DataFrame (). Dentro do PD.Função de DataFrame, passamos as três listas: ['1', '2', '3'], ['4', '5', '6'] e ['7', '8', '9' ]. Os nomes das colunas são especificados como "x", "y" e "z". O atributo dTypes é usado para visualizar os tipos de dados de colunas x, y e z.


Atualmente, o tipo de dados de cada linha é "objeto". Agora usamos a função to_numeric () para alterar seu tipo de dados.


Como mencionado anteriormente, se as colunas contêm números decimais, a função to_numeric () altera automaticamente o tipo de dados para "Int64". Vamos verificar se os tipos de dados são alterados ou não.


Como usamos os números decimais como valores "string" no quadro de dados "df", a função to_numeric () os converteu com sucesso em "Int64". E se houver uma coluna com valores de flutuação como "string" dentro do quadro de dados "df"? A função to_numeric () mudará seu tipo de dados para "float64"? Para responder a essa pergunta, adicionamos outra coluna com valores de flutuação como "string" no quadro de dados "DF" criado recentemente.


Adicionamos outra coluna ao nosso quadro de dados "df" e especificamos os nomes da coluna como W, X, Y e Z. A coluna Z recém -adicionada consiste apenas em valores de ponto decimal como "string". Vamos aplicar a função to_numeric () para ver os resultados.


O tipo de dados de colunas com números sem decimal é convertido em "int64" e o número decimal para "float64" usando a função to_numeric ().

Exemplo 3: Usando a função convert_dtypes ()

Nos dois exemplos anteriores, alteramos o tipo de dados das colunas DataFrame usando as funções astype () e to_numeric (). Também podemos alterar o tipo de dados de colunas em nosso quadro de dados usando a função convert_dtypes (). Depois de avaliar os dados, o método convert_dtypes () retorna um novo DataFrame com o tipo de dados de cada coluna convertido para o tipo de dados mais adequado (otimizado). Para entender a função convert_dtypes (), vamos criar uma amostra de dados de dados primeiro.


Depois de importar o módulo Pandas, criamos duas listas - "Nome" e "Student". Na lista "Nome", temos alguns valores de string e nulo ("Tom", PD.Na, "Max", "Tony"). Enquanto na lista de "estudantes", temos os valores booleanos com alguns valores nulos (true, PD.Na, falso, PD.N / D). Atribuímos as duas listas para a variável "dados". O Pd.A função DataFrame () é usada para criar um quadro de dados no qual a variável de dados é passada como um argumento. Em seguida, usamos o atributo dtypes que deu os tipos de dados de todas as colunas em nosso quadro de dados. Como visto na ilustração anterior, o tipo de dados de cada coluna em nosso quadro de dados é "objeto". Vamos usar a função convert_dtypes () para alterar os tipos de dados de colunas com dados de dados adequados.


Como pode ser visto, a função convert_dtypes () alterou os tipos de dados das colunas com o melhor tipo de dados adequado (otimizado). O tipo de dados da coluna "Nome" é alterado para "String" e o tipo de dados das colunas "Student" é alterado para booleano.

Conclusão

Neste tutorial, passamos por diferentes maneiras de alterar o tipo de dados da coluna do quadro de dados usando diferentes funções. Tentamos torná -lo capaz de alterar o tipo de dados da coluna de um quadro de dados por conta própria usando as funções astype (), to_numeric () e convert_dtypes (). Implementamos vários exemplos para ensiná -lo a usar o DataFrame.função astype (), como usar a função to_numeric () e como usar a função convert_dtypes () para alterar o tipo de coluna.