Open In App

Pandas DataFrame.astype()-Python

Last Updated : 26 Jun, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

DataFrame.astype() function in pandas cast a pandas object such as a DataFrame or Series to a specified data type. This is especially useful when you need to ensure that columns have the correct type, such as converting strings to integers or floats to strings.

For example:

Python
import pandas as pd
df = pd.DataFrame({'A': [1, 2], 'B': [3.5, 4.5]})

res = df.astype('string')
print(res)
print(res.dtypes)

Output
   A    B
0  1  3.5
1  2  4.5
A    string[python]
B    string[python]
dtype: object

Explanation: astype('string') converts all DataFrame columns to string type, ensuring that all values, whether integers or floats, are treated as strings.

Syntax

DataFrame.astype(dtype, copy=True, errors='raise')

Parameters:

  • dtype: Target data type and it can be a single type or a dict of column names to types.
  • copy: If True (default), returns a copy and if False, changes in-place if possible.
  • error: How to handle invalid data: 'raise' (default) or 'ignore'.

Returns: A new DataFrame or Series with updated data types.

Examples

Example 1: In this, we convert column 'A' to integer, while column 'B' remains unchanged.

Python
import pandas as pd
df = pd.DataFrame({'A': ['1', '2'], 'B': ['3.0', '4.0']})

res = df.astype({'A': int})
print(res)
print(res.dtypes)

Output
   A    B
0  1  3.0
1  2  4.0
A     int64
B    object
dtype: object

Explanation: astype() method is applied to convert column 'A' from string to integer type. Column 'B' is left out, so it remains as object (string).

Example 2: In this, we convert column 'A' to integer and column 'B' to float.

Python
import pandas as pd
df = pd.DataFrame({'A': ['1', '2'], 'B': ['3.5', '4.5']})

res = df.astype({'A': int, 'B': float})
print(res)
print(res.dtypes)

Output
   A    B
0  1  3.5
1  2  4.5
A      int64
B    float64
dtype: object

Explanation: astype() method is used with a dictionary to convert 'A' to integer and 'B' to float. Both columns are now in numeric form, suitable for calculations.

Example 3: In this, we try to convert column 'A' to integer, but due to a non-numeric value, the conversion is skipped and original types are retained.

Python
import pandas as pd
df = pd.DataFrame({'A': ['1', 'two'], 'B': ['3.0', '4.5']})

res = df.astype({'A': int}, errors='ignore')
print(res)
print(res.dtypes)

Output
     A    B
0    1  3.0
1  two  4.5
A    object
B    object
dtype: object

Explanation: astype() method tries to convert column 'A' to integer, but the value 'two' is not numeric. Since errors='ignore' is used, pandas skips the conversion and retains the original data types.

Example 4:

Python
import pandas as pd
df = pd.DataFrame({'A': ['1.1', '2.2'], 'B': ['3', '4']})

res = df.astype({'A': float}, copy=False)
print(res)
print(res.dtypes)

Output
     A  B
0  1.1  3
1  2.2  4
A    float64
B     object
dtype: object

Example 4: In this, we convert column 'A' to float with copy=False to avoid creating a new object.

Python
import pandas as pd
df = pd.DataFrame({'A': ['1.1', '2.2'], 'B': ['3', '4']})

res = df.astype({'A': float}, copy=False)
print(res)
print(res.dtypes)

Output
     A  B
0  1.1  3
1  2.2  4
A    float64
B     object
dtype: object

Explanation: By setting copy=False, pandas attempts to perform the conversion without creating a new object. Column 'B' remains unchanged as object.

Related articles:


Similar Reads

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy