Home » Pandas: How to Convert object to int

Pandas: How to Convert object to int

by Tutor Aspire

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

You may also like