You can use the following syntax to convert a column in a pandas DataFrame from an object to an integer:
df['object_column'] = df['int_column'].astype(str).astype(int)
The following examples show how to use this syntax in practice with the following pandas DataFrame:
import pandas as pd #create DataFrame df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'], 'points': ['25', '27', '14', '17', '20'], 'assists': ['5', '7', '10', '8', '9']}) #view data types for each column df.dtypes player object points object assists object dtype: object
Example 1: Convert One Column from Object to Integer
The following code shows how to convert the points column from an object to an integer:
#convert 'points' column to integer
df['points'] = df['points'].astype(str).astype(int)
#view data types of each column
df.dtypes
player object
points int32
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 from an object to an integer:
#convert 'points' and 'assists' columns to integer
df[['points', 'assists']] = df[['points', 'assists']].astype(str).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 objects to integers.
Additional Resources
The following tutorials explain how to perform other common conversions in pandas:
How to Convert Pandas DataFrame Columns to Strings
How to Convert Timestamp to Datetime in Pandas
How to Convert Datetime to Date in Pandas