将pandas列中的关键字与另一个元素列表匹配

将pandas列中的关键字与另一个元素列表匹配,第1张

将pandas列中的关键字与另一个元素列表匹配

您可以先展平列表字典,然后使用

.get
with查找
miscellaneous
不匹配的值,然后将转换为
set
s以获得唯一类别,然后
string
通过转换为s
join

movies=['spiderman','marvels','thriller']sports=['baseball','hockey','football']politics=['election','china','usa']d = {'movies':movies, 'sports':sports, 'politics':politics}d1 = {k: oldk for oldk, oldv in d.items() for k in oldv}f = lambda x: ','.join(set([d1.get(y, 'miscellaneous') for y in x]))df['matched_list_names'] = df['word_list'].apply(f)print (df)word_list  matched_list_names0       [nuclear, election, usa, baseball]  politics,miscellaneous,sports1  [football, united, thriller]    miscellaneous,sports,movies2  [marvels, hollywood, spiderman, budget]miscellaneous,movies

列表理解的类似解决方案:

df['matched_list_names'] = [','.join(set([d1.get(y, 'miscellaneous') for y in x]))       for x in df['word_list']]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5655129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存