在列表数据框中的每个元素上应用lstrip

时间:2019-06-12 08:47:17

标签: python pandas list strip

在我的数据框中,每个单元格都是带有字符串的列表。问题在于每个字符串在其前面都包含一个空格

a={'names':[[' Peter',' Alex'],[' Josh',' Hans']]}
df=pd.DataFrame(a)

我要删除空格。 对于单个列表,我将使用

y=[]
x = [' ab',' de',' cd']
for i in x:
    d=i.strip()
    y.append(d)
print (y)
['ab', 'de', 'cd']

所以我试图为数据帧构造类似的东西

 stripped=[]
    df=pd.DataFrame(a)
    for index,row in df.iterrows():
        d=df.names.apply(lambda x: x.lstrip()) 
        stripped.append(d)
    print(stripped)

返回

  

“列表”对象没有属性“ lstrip”

如果我打电话

for index,row in df.iterrows():
    d=df.names.str.lstrip()
    stripped.append(d)
print(stripped)

它返回Nan列表

1 个答案:

答案 0 :(得分:1)

这应该有效

df['names'] = df['names'].apply(lambda x: [i.strip() for i in x])

输出

           names
0  [Peter, Alex]
1   [Josh, Hans]