繁体   English   中英

从字符串列表中删除空字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM