Pandas Series: astype() function
Change data type of a series in Pandas
The astype() function is used to cast a pandas object to a specified data type.
Syntax:
Series.astype(self, dtype, copy=True, errors='raise', **kwargs)
Parameters:
Name | Description | Type/Default Value | Required / Optional |
---|---|---|---|
dtype | Use a numpy.dtype or Python type to cast entire pandas object to the same type. Alternatively, use {col: dtype, …}, where col is a column label and dtype is a numpy.dtype or Python type to cast one or more of the DataFrame’s columns to column-specific types. | data type, or dict of column name -> data type | Required |
copy | Return a copy when copy=True (be very careful setting copy=False as changes to values then may propagate to other pandas objects). | bool Default Value: True |
Required |
errors | Control raising of exceptions on invalid data for provided dtype.
|
{‘raise’, ‘ignore’} Default Value: ‘raise’ |
Required |
kwargs | keyword arguments to pass on to the constructor |
Returns: casted - same type as caller
Example - Create a DataFrame:
Python-Pandas Code:
Output:
c1 int64 c2 int64 dtype: object
Example - Cast all columns to int32:
Python-Pandas Code:
Output:
c1 int32 c2 int32 dtype: object
Example - Cast c1 to int32 using a dictionary:
Python-Pandas Code:
Output:
c1 int32 c2 int64 dtype: object
Example - Create a series:
Python-Pandas Code:
Output:
0 2 1 3 dtype: int32
Python-Pandas Code:
Output:
0 2 1 3 dtype: int64
Example - Convert to categorical type:
Python-Pandas Code:
Output:
0 2 1 3 dtype: category Categories (2, int64): [2, 3]
Example - Convert to ordered categorical type with custom ordering:
Python-Pandas Code:
Output:
0 2 1 3 dtype: category Categories (2, int64): [3 < 2]
Example - Note that using copy=False and changing data on a new pandas object may propagate changes:
Python-Pandas Code:
Output:
0 10 1 2 dtype: int64
Previous: Memory usage of Pandas Series
Next: Better dtypes for object columns