将 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]
在我的数据框中,每个单元格都是一个包含字符串的列表。问题是每个字符串前面都有一个空格
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]