How can strings be converted to float in Pandas?

Pandas is a popular data analysis library in Python that provides various methods for manipulating and converting data. One of the common tasks in data analysis is converting strings to float values, which is often necessary for performing mathematical operations. In Pandas, this can be achieved by using the astype() method, which allows users to specify the desired data type for a particular column or series. By using this method, strings can be easily converted to float values, making them suitable for further analysis and calculations.

Convert Strings to Float in Pandas


You can use the following methods to convert a string to a float in pandas:

Method 1: Convert a Single Column to Float

#convert "assists" column from string to float
df['assists'] = df['assists'].astype(float)

Method 2: Convert Multiple Columns to Float

#convert both "assists" and "rebounds" from strings to floats
df[['assists', 'rebounds']] = df[['assists', 'rebounds']].astype(float)

Method 3: Convert All Columns to Float

#convert all columns to float
df = df.astype(float)

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

import numpy as np
import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [np.nan, 12, 15, 14, 19],
                   'assists': ['5', np.nan, '7', '9', '12'],
                   'rebounds': ['11', '8', '10', '6', '6']})  

#view DataFrame
df

 	points	assists	rebounds
0	NaN	5.0	11
1	12.0	NaN	8
2	15.0	7.0	10
3	14.0	9.0	6
4	19.0	12.0	6

#view column data types
df.dtypes

points      float64
assists      object
rebounds     object
dtype: object

Example 1: Convert a Single Column to Float

The following syntax shows how to convert the assists column from a string to a float:

#convert "assists" from string to float
df['assists'] = df['assists'].astype(float)

#view column data types
df.dtypes

points      float64
assists     float64
rebounds     object
dtype: object

Example 2: Convert Multiple Columns to Float

The following syntax shows how to convert both the assists and rebounds columns from strings to floats:

#convert both "assists" and "rebounds" from strings to floats
df[['assists', 'rebounds']] = df[['assists', 'rebounds']].astype(float)

#view column data types
df.dtypes

points      float64
assists     float64
rebounds    float64
dtype: object

Example 3: Convert All Columns to Float

The following syntax shows how to convert all of the columns in the DataFrame to floats:

#convert all columns to float
df = df.astype(float)

#view column data types
df.dtypes

points      float64
assists     float64
rebounds    float64
dtype: object

Bonus: Convert String to Float and Fill in NaN Values

The following syntax shows how to convert the assists column from string to float and simultaneously fill in the NaN values with zeros:

#convert "assists" from string to float and fill in NaN values with zeros
df['assists'] = df['assists'].astype(float).fillna(0)

#view DataFrame
df

        points	assists	rebounds
0	NaN	5.0	11
1	12.0	0.0	8
2	15.0	7.0	10
3	14.0	9.0	6
4	19.0	12.0	6

Additional Resources

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

x