I am trying to remove spaces from a dataframe I have. The columns names look like below. I am trying to get the spaces between name out and replace it with "_" wherever present.
['join_date' 'fiscal_quarter' 'fiscal_year' 'primary_channel' 'secondary_channel' 'customer_count' 'new_members' 'revisit_next_day' 'revisit_14_day' 'demand_1yr' 'revisit_next_day_rate' 'revisit_14_day_rate' 'demand_1yr_per_new_member' u'ch_Ad Network' u'ch_Affiliate' u'ch_Branded SEM' u'ch_DSP' u'ch_Daily Email' u'ch_Daily Messaging' u'ch_Direct' u'ch_Direct Publisher' u'ch_Email' u'ch_Feeds' u'ch_Native' u'ch_Non-Branded SEM' u'ch_Organic Search' u'ch_Paid Social' u'ch_Site' u'ch_Special Email' u'ch_Television' u'ch_Trigger Email' u'ch_UNMAPPED' u'ch_Unpaid Social' u'quarter_Q2' u'quarter_Q3' u'quarter_Q4']
Pandas provide 3 methods to handle white spaces(including New line) in any text data. As it can be seen in the name, str. lstrip() is used to remove spaces from the left side of string, str. rstrip() to remove spaces from right side of the string and str.
Removing spaces from column names in pandas is not very hard we easily remove spaces from column names in pandas using replace() function. We can also replace space with another character.
Series. str. strip()” to remove the whitespace from the string. Using strip function we can easily remove extra whitespace from leading and trailing whitespace from staring.
Python String strip() function will remove leading and trailing whitespaces. If you want to remove only leading or trailing spaces, use lstrip() or rstrip() function instead.
df.columns = df.columns.str.replace(' ', '')
df.columns = df.columns.str.lstrip()
df.columns = df.columns.str.rstrip()
df.columns = df.columns.str.strip()
df.columns = df.columns.str.replace(' ', '_')
df.columns = df.columns.str.replace('^ +', '_')
df.columns = df.columns.str.replace(' +$', '_')
df.columns = df.columns.str.replace('^ +| +$', '_')
All above applies to a specific column as well, assume you have a column named col
, then just do:
df[col] = df[col].str.strip() # or .replace as above
Commands can be chained
df.columns = df.columns.str.strip().str.replace(' ', '_')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With