【发布时间】:2019-01-05 13:18:01
【问题描述】:
我有一个熊猫数据框:
word_list
['nuclear','election','usa','baseball']
['football','united','thriller']
['marvels','hollywood','spiderman']
....................
....................
....................
我还有多个带有类别名称的列表,例如:-
movies=['spiderman','marvels','thriller']'
sports=['baseball','hockey','football'],
politics=['election','china','usa'] 和许多其他类别。
我只想将 pandas 列 word_list 的关键字与我的类别列表匹配,如果关键字匹配在一起并且如果任何关键字在任何列表中不匹配,则在单独的列中分配相应的列表名称,然后简单地输入miscellaneous 所以,我正在寻找的输出为:-
word_list matched_list_names
['nuclear','election','usa','baseball'] politics,sports,miscellaneous
['football','united','thriller'] sports,movies,miscellaneous
['marvels','spiderman','hockey'] movies,sports
.................... .....................
.................... .....................
.................... ....................
我成功获取到匹配关键字为:-
for i in df['word_list']:
for j in movies:
if i in j:
print (i)
但这给了我匹配的关键字列表。如何获取列表名称并将其添加到 pandas 列?
【问题讨论】:
-
您现在要问多个问题。但是关于相关性 (1/3)*100 实际上是 0.3333.... 你对当前的答案不满意吗?
-
@AntonvBR 我还需要计算相关性值。因此,也可以使用 0.33。我已经尝试了很多,但我的方法似乎对我不起作用。
标签: python python-3.x pandas