How to Convert Object to Float in Pandas (With Examples)


You can use one of the following methods to convert a column in a pandas DataFrame from object to float:

Method 1: Use astype()

df['column_name'] = df['column_name'].astype(float)

Method 2: Use to_numeric()

df['column_name'] = pd.to_numeric(df['column_name'])

Both methods produce the same result.

The following examples show how to use each method with the following pandas DataFrame:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': ['18', '22.2', '19.1', '14', '14', '11.5', '20', '28'],
                   'assists': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print(df)

  team points  assists
0    A     18        5
1    B   22.2        7
2    C   19.1        7
3    D     14        9
4    E     14       12
5    F   11.5        9
6    G     20        9
7    H     28        4

#check data type of each column
print(df.dtypes)

team       object
points     object
assists     int64
dtype: object

Method 1: Use astype() to Convert Object to Float

The following code shows how to use the astype() function to convert the points column in the DataFrame from an object to a float:

#convert points column from object to float
df['points'] = df['points'].astype(float)

#view updated DataFrame
print(df)

  team  points  assists
0    A    18.0        5
1    B    22.2        7
2    C    19.1        7
3    D    14.0        9
4    E    14.0       12
5    F    11.5        9
6    G    20.0        9
7    H    28.0        4

#view updated data types
print(df.dtypes)

team        object
points     float64
assists      int64
dtype: object

Notice that the points column now has a data type of float64.

Method 2: Use to_numeric() to Convert Object to Float

The following code shows how to use the to_numeric() function to convert the points column in the DataFrame from an object to a float:

#convert points column from object to float
df['points'] = pd.to_numeric(df['points'], errors='coerce')

#view updated DataFrame
print(df)

  team  points  assists
0    A    18.0        5
1    B    22.2        7
2    C    19.1        7
3    D    14.0        9
4    E    14.0       12
5    F    11.5        9
6    G    20.0        9
7    H    28.0        4

#view updated data types
print(df.dtypes)

team        object
points     float64
assists      int64
dtype: object

Notice that the points column now has a data type of float64.

Also note that this method produces the exact same result as the previous method.

Additional Resources

The following tutorials explain how to perform other common tasks in pandas:

How to Convert Boolean Values to Integer Values in Pandas
How to Convert DateTime to String in Pandas
How to Convert Columns to int in Pandas

Leave a Reply

Your email address will not be published.