Pandas column to list of strings
In this article, I will explain how to convert single or multiple pandas columns to string type, here, I will demonstrate using DataFrame.astype(str),DataFrame.values.astype(str), DataFrame.apply(str), DataFrame.map(str) and DataFrame.applymap(str) methods to covert any type to string type. Show
1. Quick Examples of Convert Columns To StringIf you are in a hurry, below are some of the quick examples of how to convert columns to string in Pandas DataFrame. You can apply these to convert from/to any type in Pandas Note that map(str) and apply(str)takes less time to compare with the remaining techniques. # Below are quick example # Single columns string conversion df["Discount"] = df["Discount"].astype(str) print(df.dtypes) # Using DataFrame.values.astype() to convert columns string df["Discount"]=df["Discount"].values.astype(str) print(df.dtypes) # Multiple columns string conversion df["Fee"] = df["Fee"].astype(str) df["Discount"]= df["Discount"].astype(str) print(df.dtypes) # Multiple columns string conversion df[['Courses', 'Fee', 'Duration','Discount']] = df[['Courses', 'Fee', 'Duration','Discount']].astype(str) print(df.dtypes) # Using apply(str) method df["Fee"]=df["Fee"].apply(str) print(df.dtypes) # Using apply(str) method to lambda function df["Fee"] = df["Fee"].apply(lambda x: str(x)) print(df.dtypes) # Convert columns string using map(str) method df['Fee'] = df["Fee"].map(str) print(df.dtypes) # Convert entire DataFrame to string df=df.applymap(str) print(df.dtypes)Now, lets see a detailed example. first, create a Pandas DataFrame with a few rows and columns and execute and validate the results. Our DataFrame contains column names Courses, Fee, Duration, and Discount. import pandas as pd import numpy as np technologies= ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30day','50days','55days','40days','60days','35day','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400] }) df = pd.DataFrame(technologies) print(df) print(df.dtypes).Yields below output. You can identify the data type of each column by using dtypes. 2. Convert Single Column to String Type Using DataFrame.astype(str)Use df["Discount"]=df["Discount"].astype(str) method to change the data type of the Discount column from int64 to object type representing the string. # Single columns string conversion df["Discount"] = df["Discount"].astype(str) print(df.dtypes)3. Using DataFrame.values.astype(str) to Convert Columns StringYou can also use df["Discount"]=df["Discount"].values.astype(str) method to change the data type of the Discount column from int64 to object type representing the string. # Using DataFrame.values.astype() to convert columns string df["Discount"]=df["Discount"].values.astype(str) print(df.dtypes)Yields below output. Courses object Fee int64 Duration object Discount object dtype: object4. Convert Multiple Columns to String Using DataFrame.astype(str)To convert multiple columns from list to strings, use df[['Courses','Fee','Duration','Discount']]=df[['Courses','Fee','Duration','Discount']].astype(str), this changes the data type of all columns from int64 to object type representing the string. Yields below output. Courses object Fee object Duration object Discount object dtype: object5. Using DataFrame.apply(str)You can convert the column Fee to a string by simply using apply(str) , for example df["Fee"]=df["Fee"].apply(str) . # Using apply(str) method df["Fee"]=df["Fee"].apply(str) print(df.dtypes)Yields below output. Courses object Fee object Duration object Discount int64 dtype: objectUsing .apply() with a lambda conversion function also works in this case. For example df["Fee"] = df["Fee"].apply(lambda x: str(x)). # Using apply(str) to lambda function df["Fee"] = df["Fee"].apply(lambda x: str(x)) print(df.dtypes)Yields same output as above. 6. Convert Columns to String Using DataFrame.map(str)You can also convert the column Fee to a string by using map(str) , for example df['Fee']=df["Fee"].map(str). # Convert columns string using map(str) method df['Fee'] = df["Fee"].map(str) print(df.dtypes)Yields same output as above. Note: map(str) and apply(str)takes less time to compare with the remaining techniques. 7. Convert Entire DataFrame to Strings Using DataFrame.applymap(str)If you want to change the data type for all columns in the DataFrame to the string type, you can use df=df.applymap(str) method. # Convert entire DataFrame to string df=df.applymap(str) print(df.dtypes)Yields below output. Courses object Fee object Duration object Discount object dtype: objectConclusionIn this article, you have learned how to convert columns to string type in Pandas using DataFrame.astype(str), DataFrame.values.astype(str) and DataFrame.apply(str) methods. Also, you have learned how to convert columns to string in DataFrame using DataFrame.map(str), DataFrame.applymap(str) methods. Happy Learning !! You May Also Like
References
Share this: |