Qiu*_*Bie 5 python list pandas
我有带有列表的 df 列。每个看起来都像[1,2,3,4,'',6,7],[2,3,'',5,6]。我想删除''每一行中的。我用了
df[column].apply(lambda x: x.remove(''))
Run Code Online (Sandbox Code Playgroud)
但这没有用。有人可以帮助我吗?谢谢
ValueError: list.remove(x): x not in list
Run Code Online (Sandbox Code Playgroud)
如果您有一个列表,您可以在其上使用过滤器来过滤掉您不希望出现在列表中的元素,如下所示 -
my_list = [1,2,3,4,'',6,7]
my_list = list(filter(lambda x : x!='',my_list))
print(my_list)
Run Code Online (Sandbox Code Playgroud)
输出 :
[1, 2, 3, 4, 6, 7]
Run Code Online (Sandbox Code Playgroud)
这也可以使用地图轻松扩展为二维列表。我们基本上只会将第一个函数应用于二维列表的每个元素,如下所示 -
my_list = [[1,2,3,4,'',6,7],[2,3,'',5,6]]
my_list = list(map(lambda sub_list:list(filter(lambda x : x!='',sub_list)),my_list))
print(my_list)
Run Code Online (Sandbox Code Playgroud)
输出 :
[[1, 2, 3, 4, 6, 7], [2, 3, 5, 6]]
Run Code Online (Sandbox Code Playgroud)