首页 > 解决方案 > 同时删除数据框中的双空格和单空格

问题描述

我有一列,其中名称由单空格、双空格(可以有更多)分隔,我想按拳头名和姓氏分割名称

df = pd.DataFrame({'Name': ['Steve  Smith', 'Joe Nadal', 
                           'Roger   Federer'],{'Age':[32,34,36]})

df['Name'] = df['Name'].str.strip()


df[['First_Name', 'Last_Name']] = df['Name'].str.split(" ",expand = True,)

标签: pandas

解决方案


用作\s+您的拆分模式。这是正则表达式模式,意思是“一个或多个空白字符”

此外,使用 限制拆分次数n=1。这意味着字符串只会被拆分一次(从左到右第一次出现空格) - 将输出限制为 2 列。

df[['First_Name', 'Last_Name']] = df.Name.str.split('\s+', expand=True, n=1)

[出去]

              Name  Age First_Name Last_Name
0     Steve  Smith   32      Steve     Smith
1        Joe Nadal   34        Joe     Nadal
2  Roger   Federer   36      Roger   Federer

推荐阅读