How to Convert Pandas DataFrame Columns to int

To convert columns of a pandas DataFrame to int, you can use the astype() method. This method takes as argument the data type to which the column should be converted. For example, to convert a column of strings to integers, you would use df[‘column_name’].astype(int). This will convert all values in the specified column to integers. To check if the conversion was successful, you can use the info() method to check the data type of the column. If the type is now int, the conversion was successful.


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.

The following tutorials explain how to perform other common conversions in Python:

x