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