O método astype()
do pandas é um dos métodos mais importantes. É usado para alterar o tipo de dados de uma série. Quando o DataFrame é feito de um arquivo csv, as colunas são importadas e o tipo de dados é definido automaticamente, o que muitas vezes não é o que deveria. Por exemplo, uma coluna de salário pode ser importada como string, mas para fazer as operações temos que convertê-la em float.
astype()
é usado para fazer tais conversões de tipo de dados.
Sintaxe: DataFrame.astype(dtype, copy=True, errors=’raise’)
Parâmetros:
- dtype: Tipo de dados para o qual converter a série. (por exemplo str, float, int)
- copy: Faz uma cópia do dataframe/série.
- errors: Erro ao aumentar a conversão para tipo de dados inválido. Por exemplo, dict to string. 'raise' aumentará o erro e 'ignore' passará sem aumentar o erro.
Tipo de retorno: Series com os tipos de dados alterados.
Para baixar o conjunto de dados usado no exemplo a seguir, clique aqui.
Nos exemplos a seguir, o DataFrame usado contém dados de alguns jogadores da NBA. A imagem do DataFrame antes de qualquer operação é anexada abaixo.
Exemplo: Neste exemplo, o DataFrame é importado e .dtypes
é chamado no DataFrame para visualizar os tipos de dados das séries. Depois disso, algumas colunas são convertidas usando o método .astype()
e os dtypes
são exibidos novamente para ver as mudanças.
# importa o modulo pandas import pandas as pd # Criar um DataFrame a partir de um arquivo csv data = pd.read_csv("https://media.geeksforgeeks.org/wp-content/uploads/nba.csv") # Descarta valores null para evitar erros data.dropna(inplace = True) # Guardando dtype antes de converter before = data.dtypes # Convertendo dtype para inteiro data["Salary"] = data["Salary"].astype(int) # Convertendo dtype para string data["Number"] = data["Number"].astype(str) # Guardando dtype depois de converter after = data.dtypes # imprimindo o antes e depois da converção print("Depois da converção\n", before, "\n") print("Antes da converção\n", after, "\n")
Conforme mostrado na saída abaixo, os tipos de dados das colunas foram convertidos de acordo.
Depois da converção Name object Team object Number float64 Position object Age float64 Height object Weight float64 College object Salary float64 dtype: object Antes da converção Name object Team object Number object Position object Age float64 Height object Weight float64 College object Salary int64 dtype: object
Artigo escrito por Kartikaybhutani e traduzido por Acervolima de Python | Pandas Series.astype() to convert Data type of series.
0 comentários:
Postar um comentário