大話(huà)西游666
2023-05-23 10:18:42
我有一個(gè)df帶有列hashtags的數(shù)據(jù)框: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我想創(chuàng)建一個(gè)包含列的所有列表元素(除了 )Nan的列表。我試圖通過(guò)以下方式列出列表:li = df['hashtags'].tolist()但它將列表轉(zhuǎn)換為字符串并以字符串列表結(jié)尾。例如:li[:5]>>> [nan, nan, "['COVID19']", "['COVID19']", "['CoronaVirusUpdates', 'COVID19']"]我想要的輸出li[:5]是這樣的:['COVID19', 'COVID19', 'CoronaVirusUpdates', 'COVID19', 'coronavirus', 'covid19']
1 回答

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
想法是首先刪除缺失值 by?Series.dropna
,然后將列表 repr by 轉(zhuǎn)換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']
添加回答
舉報(bào)
0/150
提交
取消