Python 如何删除列中字符串的空白

Python 如何删除列中字符串的空白,python,pandas,dataframe,split,Python,Pandas,Dataframe,Split,我需要删除列中的空白。我的数据如下所示: industry magazine Home "Goodhousekeeping.com"; "Prevention.com"; Fashion "Cosmopolitan"; " Elle"; "Vogue" Fashion " Vogue&qu

我需要删除列中的空白。我的数据如下所示:

industry            magazine
Home                "Goodhousekeeping.com"; "Prevention.com";
Fashion             "Cosmopolitan"; " Elle"; "Vogue"
Fashion             " Vogue"; "Elle"
下面是我的代码:

# split magazine column values, create a new column in df 
df['magazine_list'] = dfl['magazine'].str.split(';')

# stip the first whitespace from strings
df.magazine_list = df.magazine_list.str.lstrip()
这将返回所有NaN,我也尝试过:

df.magazine = df.magazine.str.lstrip()

这也没有删除空格。

将列表理解与拆分值的条带一起使用,也可以在拆分前将值的条带用于删除尾部
、空格和
值:

f = lambda x: [y.strip('" ') for y in x.strip(';" ').split(';')]
df['magazine_list'] = df['magazine'].apply(f)
print (df)
  industry                                 magazine  \
0     Home  Goodhousekeeping.com; "Prevention.com";   
1  Fashion           Cosmopolitan; " Elle"; "Vogue"   
2  Fashion                             Vogue; "Elle   

                            magazine_list  
0  [Goodhousekeeping.com, Prevention.com]  
1             [Cosmopolitan, Elle, Vogue]  
2                           [Vogue, Elle]  

将列表理解与拆分后的值一起使用,也可以在拆分前剥离值以删除尾随的
、空格和
值:

f = lambda x: [y.strip('" ') for y in x.strip(';" ').split(';')]
df['magazine_list'] = df['magazine'].apply(f)
print (df)
  industry                                 magazine  \
0     Home  Goodhousekeeping.com; "Prevention.com";   
1  Fashion           Cosmopolitan; " Elle"; "Vogue"   
2  Fashion                             Vogue; "Elle   

                            magazine_list  
0  [Goodhousekeeping.com, Prevention.com]  
1             [Cosmopolitan, Elle, Vogue]  
2                           [Vogue, Elle]  

耶斯雷尔提供了一个很好的解决方案。了解pandas有用于类似操作的字符串访问器,而不需要列表理解是很有用的。通常情况下,列表理解速度更快,但根据使用内置函数的用例,它可能更可读或更易于编码

df['magazine'] = (
    df['magazine']
    .str.replace(' ', '', regex=False)
    .str.replace('"', '', regex=False)
    .str.strip(';')
    .str.split(';')
)
输出

  industry                                magazine
0     Home  [Goodhousekeeping.com, Prevention.com]
1  Fashion             [Cosmopolitan, Elle, Vogue]
2  Fashion                           [Vogue, Elle]

耶斯雷尔提供了一个很好的解决方案。了解pandas有用于类似操作的字符串访问器,而不需要列表理解是很有用的。通常情况下,列表理解速度更快,但根据使用内置函数的用例,它可能更可读或更易于编码

df['magazine'] = (
    df['magazine']
    .str.replace(' ', '', regex=False)
    .str.replace('"', '', regex=False)
    .str.strip(';')
    .str.split(';')
)
输出

  industry                                magazine
0     Home  [Goodhousekeeping.com, Prevention.com]
1  Fashion             [Cosmopolitan, Elle, Vogue]
2  Fashion                           [Vogue, Elle]

预期产量是多少?列表通过
连接值?只需将值分开,字符串开头不带空格```行业杂志首页“goodhousing.com”;“预防网”;时尚“世界主义”;“艾尔”;“时尚”时尚“时尚”;“Elle”预期产量是多少?列表通过
连接值?只需将值分开,字符串开头不带空格```行业杂志首页“goodhousing.com”;“预防网”;时尚“世界主义”;“艾尔”;“时尚”时尚“时尚”;“Elle”谢谢你,非常好用!我已经接受了答案。非常感谢。谢谢,非常好用!我已经接受了答案。非常感谢。