You can use the following syntax to convert a column in a pandas DataFrame to an integer type:
df['col1'] = df['col1'].astype(int)
The following examples show how to use this syntax in practice.
Example 1: Convert One Column 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', '20', '14', '16', '27'], 'assists': ['5', '7', '7', '8', '11']}) #view data types for each column df.dtypes player object points object assists object dtype: object
We can see that none of the columns currently have an integer data type.
The following code shows how to convert the ‘points’ column in the DataFrame to an integer type:
#convert 'points' column to integer
df['points'] = df['points'].astype(int)
#view data types of each column
df.dtypes
player object
points int64
assists object
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 to an integer:
import pandas as pd #create DataFrame df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'], 'points': ['25', '20', '14', '16', '27'], 'assists': ['5', '7', '7', '8', '11']}) #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 int64 assists int64 dtype: object
We can see that the ‘points’ and ‘assists’ columns have been converted to integer while the ‘player’ column remains unchanged.
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
How to Convert String to Float in Pandas