我正在尝试编写一些代码,以在数据框列中将字符串按逗号拆分(使其成为列表),并从该列表中删除某个特定字符串(如果存在)。 删除不需要的字符串后,我希望再次将列表元素连接在逗号处。我的数据框如下所示:
我所写的代码如下:
df:
Column1 Column2
0 a a,b,c
1 y b,n,m
2 d n,n,m
3 d b,b,x
基本上,我的目标是从第二列中删除所有b值,以便我获得:
df:
Column1 Column2
0 a a,c
1 y n,m
2 d n,n,m
3 d x
我所写的代码如下:
以下是我编写的代码:
df=df['Column2'].apply(lambda x: x.split(','))
def exclude_b(df):
for index, liste in df['column2].iteritems():
if 'b' in liste:
liste.remove('b')
return liste
else:
return liste
第一行将列中的所有值拆分为逗号分隔的列表。使用该函数,我尝试遍历所有列表并删除其中的 b(如果存在),如果不存在,则返回原样列表。如果最后打印'liste',它只返回 Column2 的第一行,而不是其他行。我做错了什么?是否有一种方法将我的 if 条件实现为 lambda 函数?