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

SAM*_*776 23 python dataframe pandas

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

['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']
Run Code Online (Sandbox Code Playgroud)

Psi*_*dom 80

  • 要删除空格:

1)到处删除空白区域:

df.columns = df.columns.str.replace(' ', '')
Run Code Online (Sandbox Code Playgroud)

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

df.columns = df.columns.str.lstrip()
Run Code Online (Sandbox Code Playgroud)

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

df.columns = df.columns.str.rstrip()
Run Code Online (Sandbox Code Playgroud)

4)去除两端的空白区域:

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

5)到处替换白色空间

df.columns = df.columns.str.replace(' ', '_')
Run Code Online (Sandbox Code Playgroud)

6)在开头替换空格:

df.columns = df.columns.str.replace('^ +', '_')
Run Code Online (Sandbox Code Playgroud)

7)要更换空白:

df.columns = df.columns.str.replace(' +$', '_')
Run Code Online (Sandbox Code Playgroud)

8)替换两端的空白区域:

df.columns = df.columns.str.replace('^ +| +$', '_')
Run Code Online (Sandbox Code Playgroud)

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

df[col] = df[col].str.strip()  # or .replace as above
Run Code Online (Sandbox Code Playgroud)

  • df.columns = df.columns.str.strip()对于熊猫0.23.4不起作用。对我来说`df [HL7_CODE] .apply(lambda x:x.strip())`完美 (3认同)