将 lstrip 应用于列表数据框中的每个元素

apply lstrip on every element in dataframe of lists

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

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)

其中 returns

'list' object has no attribute 'lstrip'

如果我打电话给

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

它returns楠列出

这应该有效

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

输出

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