Como converter colunas pandas dataframe em strings


Freqüentemente, você pode querer converter uma ou mais colunas de um DataFrame do pandas em strings. Felizmente, isso é fácil de fazer usando a função astype(str) integrada do pandas.

Este tutorial mostra vários exemplos de uso desta função.

Exemplo 1: Converter uma única coluna DataFrame em uma string

Suponha que temos o seguinte DataFrame do pandas:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                   'points': [25, 20, 14, 16, 27],
                   'assists': [5, 7, 7, 8, 11]})

#view DataFrame 
df

        player points assists
0 to 25 5
1 B 20 7
2 C 14 7
3 D 16 8
4 E 27 11

Podemos identificar o tipo de dados de cada coluna usando dtypes:

 df. dtypes

player object
int64 dots
assists int64
dtype:object

Podemos ver que a coluna “jogador” é uma string enquanto as outras duas colunas “pontos” e “passes” são inteiros.

Podemos converter a coluna “pontos” em uma string simplesmente usando astype(str) da seguinte forma:

 df['points'] = df['points'].astype( str )

Podemos verificar se esta coluna agora é uma string usando dtypes novamente:

 df. dtypes

player object
points object
assists int64
dtype:object

Exemplo 2: converter várias colunas do DataFrame em strings

Podemos converter as colunas “pontos” e “assistências” em strings usando a seguinte sintaxe:

 df[['points', 'assists']] = df[['points', 'assists']].astype( str )

E novamente, podemos verificar se são strings usando dtypes:

 df. dtypes

player object
points object
assists object
dtype:object

Exemplo 3: Converter um DataFrame inteiro em Strings

Finalmente, podemos converter cada coluna de um DataFrame em strings usando a seguinte sintaxe:

 #convert every column to strings
df = df.astype(str)

#check data type of each column
df. dtypes
player object
points object
assists object
dtype:object

Você pode encontrar a documentação completa da função astype() aqui .

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *