在我的数据框中,每个单元格都是带有字符串的列表。问题在于每个字符串在其前面都包含一个空格
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列表
答案 0 :(得分:1)
这应该有效
df['names'] = df['names'].apply(lambda x: [i.strip() for i in x])
输出
names
0 [Peter, Alex]
1 [Josh, Hans]