Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Removing space from columns in pandas

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'] 
like image 988
SAM244776 Avatar asked Jan 05 '17 01:01

SAM244776


People also ask

How do I remove a space in pandas?

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.

How do I remove spaces from a column name?

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.

How do I strip spaces from a column in Python?

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.

How do you get rid of spaces in Python?

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.


1 Answers

  • To remove white spaces:
  1. To remove white space everywhere:
df.columns = df.columns.str.replace(' ', '') 
  1. To remove white space at the beginning of string:
df.columns = df.columns.str.lstrip() 
  1. To remove white space at the end of string:
df.columns = df.columns.str.rstrip() 
  1. To remove white space at both ends:
df.columns = df.columns.str.strip() 
  • To replace white spaces with other characters (underscore for instance):
  1. To replace white space everywhere
df.columns = df.columns.str.replace(' ', '_') 
  1. To replace white space at the beginning:
df.columns = df.columns.str.replace('^ +', '_') 
  1. To replace white space at the end:
df.columns = df.columns.str.replace(' +$', '_') 
  1. To replace white space at both ends:
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(' ', '_') 
like image 57
Psidom Avatar answered Oct 14 '22 15:10

Psidom