[英]Remove empty string from a list of strings
我的 dataframe 中有一个列,其中包含具有这种结构的名称列表:
df['name']=[
['anna','karen','',]
['', 'peter','mark','john']
]
我想摆脱我用列表理解尝试过的空字符串
[[name for name in df['name'] if name.strip()] for df['name'] in df]
但这根本不起作用,有没有办法做到这一点? 我还使用了 pandas 中的替换方法,将空字符串替换为 nan 但这也不起作用,因为它总是抛出一个关键错误......
df['name'].replace('', np.nan)
您可以使用过滤器 function 执行此操作
df['name'] = [list(filter(None, sublist)) for sublist in df['name']]
列表理解不太正确, for df['name'] in df
没有意义。 尝试:
df['name'] = [[s for s in l if s] for l in df['name']]
df = pd.DataFrame({'name':[['anna','karen','',], ['', 'peter','mark','john']]})
df['name'] = [[s for s in l if s] for l in df['name']]
print(df)
name
0 [anna, karen]
1 [peter, mark, john]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.