Often you may wish to convert one or more columns in a pandas DataFrame to strings. Fortunately this is easy to do using the built-in pandas astype(str) function.
This tutorial shows several examples of how to use this function.
Example 1: Convert a Single DataFrame Column to String
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 DataFrame df player points assists 0 A 25 5 1 B 20 7 2 C 14 7 3 D 16 8 4 E 27 11
We can identify the data type of each column by using dtypes:
df.dtypes
player object
points int64
assists int64
dtype: object
We can see that the column “player” is a string while the other two columns “points” and “assists” are integers.
We can convert the column “points” to a string by simply using astype(str) as follows:
df['points'] = df['points'].astype(str)
We can verify that this column is now a string by once again using dtypes:
df.dtypes
player object
points object
assists int64
dtype: object
Example 2: Convert Multiple DataFrame Columns to Strings
We can convert both columns “points” and “assists” to strings by using the following syntax:
df[['points', 'assists']] = df[['points', 'assists']].astype(str)
And once again we can verify that they’re strings by using dtypes:
df.dtypes
player object
points object
assists object
dtype: object
Example 3: Convert an Entire DataFrame to Strings
Lastly, we can convert every column in a DataFrame to strings by using the following syntax:
#convert every column to strings df = df.astype(str) #check data type of each column df.dtypes player object points object assists object dtype: object
You can find the complete documentation for the astype() function here.