.getwith查找
miscellaneous不匹配的值,然后将转换为
sets以获得唯一类别,然后
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']]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)