Como converter floats em ints no pandas
Você pode usar a seguinte sintaxe para converter uma coluna em um DataFrame do pandas de um float para um inteiro:
df[' float_column '] = df[' float_column ']. astype (int)
Os exemplos a seguir mostram como usar essa sintaxe na prática.
Exemplo 1: Converter uma coluna de Float em Integer
Suponha que temos o seguinte DataFrame do pandas:
import pandas as pd #createDataFrame df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E'], ' points ': [25.2, 27.0, 14.5, 17.6, 20.7], ' assists ': [5.1, 7.7, 10.3, 8.6, 9.5]}) #view data types for each column df. dtypes player object float64 points assist float64 dtype:object
Podemos ver que as colunas de pontos e assistências possuem um tipo de dados flutuante.
O código a seguir mostra como converter a coluna de pontos de um float em um número inteiro:
#convert 'points' column to integer
df[' points '] = df[' points ']. astype (int)
#view data types of each column
df. dtypes
player object
int32 dots
assist float64
dtype:object
Podemos ver que a coluna de pontos agora é um número inteiro, enquanto todas as outras colunas permaneceram inalteradas.
Exemplo 2: Converter múltiplas colunas em números inteiros
O código a seguir mostra como converter várias colunas de um DataFrame de um float para um inteiro:
import pandas as pd #createDataFrame df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E'], ' points ': [25.2, 27.0, 14.5, 17.6, 20.7], ' assists ': [5.1, 7.7, 10.3, 8.6, 9.5]}) #convert 'points' and 'assists' columns to integer df[[' points ', ' assists ']] = df[[' points ', ' assists ']]. astype (int) #view data types for each column df. dtypes player object int32 dots assists int32 dtype:object
Podemos ver que as colunas de pontos e assistências foram convertidas de flutuantes em inteiros.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras conversões comuns em Python:
Como converter colunas Pandas DataFrame em strings
Como converter carimbo de data/hora em data/hora no Pandas
Como converter DateTime em data no Pandas