You can use the following syntax to convert a column in a pandas DataFrame from a float to an integer:
df['float_column'] = df['float_column'].astype(int)
The following examples show how to use this syntax in practice.
Example 1: Convert One Column from Float to Integer
Suppose we have the following pandas DataFrame:
import pandas as pd #create DataFrame 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 points float64 assists float64 dtype: object
We can see that the points and assists columns both have a data type of float.
The following code shows how to convert the points column from a float to an integer:
#convert 'points' column to integer
df['points'] = df['points'].astype(int)
#view data types of each column
df.dtypes
player object
points int32
assists float64
dtype: object
We can see that the points column is now an integer, while all other columns remained unchanged.
Example 2: Convert Multiple Columns to Integer
The following code shows how to convert multiple columns in a DataFrame from a float to an integer:
import pandas as pd #create DataFrame 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 points int32 assists int32 dtype: object
We can see that the points and assists columns have both been converted from floats to integers.
Additional Resources
The following tutorials explain how to perform other common conversions in Python:
How to Convert Pandas DataFrame Columns to Strings
How to Convert Timestamp to Datetime in Pandas
How to Convert Datetime to Date in Pandas