簡體   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