从pandas中的数据框列中删除空间

时间:2017-01-05 01:53:07

标签: python pandas dataframe

我正在尝试从我拥有的数据框中删除空格。列名称如下所示。我试图获取名称之间的空格,并将其替换为“_”,无论何时出现。

['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']

1 个答案:

答案 0 :(得分:46)

  • 删除空格

1)删除处的空白

df.columns = df.columns.str.replace(' ', '')

2)删除字符串开头的空格:

df.columns = df.columns.str.lstrip()

3)删除字符串末尾的空格

df.columns = df.columns.str.rstrip()

4)删除两端的空格

df.columns = df.columns.str.strip()
  • 要用其他字符替换空格 (例如下划线):

5)替换无处不在的

df.columns = df.columns.str.replace(' ', '_')

6)在开头

替换空白
df.columns = df.columns.str.replace('^ +', '_')

7)在末尾替换空白

df.columns = df.columns.str.replace(' +$', '_')

8)在两端替换

df.columns = df.columns.str.replace('^ +| +$', '_')

以上所有内容也适用于特定列,假设您有一个名为col的列,然后执行:

df[col] = df[col].str.strip()  # or .replace as above