繁体   English   中英

在列表数据框中的每个元素上应用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)

哪个返回

'列表'对象没有属性'lstrip'

如果我打电话

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

它返回楠列表

这应该工作

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

产量

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM