我有一個df帶有列hashtags的數據框:df['hashtags']>>>0 NaN1 NaN2 ['COVID19']3 ['COVID19']4 ['CoronaVirusUpdates', 'COVID19'] ... 132596 ['coronacrise', 'covid19', 'JN', 'N?oéSóUmNúme...132597 ['covid19']132598 ['corona', 'covid19']132599 NaN132600 ['covid19']Name: hashtags, Length: 132601, dtype: object我想創建一個包含列的所有列表元素(除了 )Nan的列表。我試圖通過以下方式列出列表:li = df['hashtags'].tolist()但它將列表轉換為字符串并以字符串列表結尾。例如:li[:5]>>> [nan, nan, "['COVID19']", "['COVID19']", "['CoronaVirusUpdates', 'COVID19']"]我想要的輸出li[:5]是這樣的:['COVID19', 'COVID19', 'CoronaVirusUpdates', 'COVID19', 'coronavirus', 'covid19']
1 回答

慕田峪7331174
TA貢獻1828條經驗 獲得超13個贊
想法是首先刪除缺失值 by?Series.dropna
,然后將列表 repr by 轉換ast.literal_eval
為列表并在列表理解中展平嵌套列表:
df = pd.DataFrame({'hashtags':[np.nan, np.nan,?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"['COVID19']", "['COVID19']",?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?"['CoronaVirusUpdates', 'COVID19']"]})
import ast
out = [y for x in df['hashtags'].dropna() for y in ast.literal_eval(x)]
print (out)
['COVID19', 'COVID19', 'CoronaVirusUpdates', 'COVID19']
添加回答
舉報
0/150
提交
取消