我有一个单词列表如下。
mylist = ['cat', 'yellow', 'car', 'red', 'green', 'jeep', 'rat','lorry']
我还有数据集中每篇文章的列表列表,其中包含“mylist”的值,如下面的示例所示(即,如果“mylist”单词出现在文章中,它会生成 0-1 之间的值)。
[[0,0.7,0,0,0,0.3,0,0.6], [0.2,0,0,0,0,0,0.8,0]]
换句话说,
[0,0.7,0,0,0,0.3,0,0.6] says that this only has values 'yellow', 'jeep', 'lorry'
现在我有一个类别字典如下。
mydictionary = {'colour': ['red', 'yellow', 'green'], 'animal': ['rat','cat'],
'vehicle': ['car', 'jeep']}
现在,通过使用“mydictionary”键值,我想按如下方式转换列表列表(也就是说,如果“mylist”的一个或多个值为 1,我将该键标记为average分数的值)。
[[0.7, 0, 0.45], [0, 0.5, 0]]
换句话说,
[0.7, 0, 0.45] says that;
0.7 - average value for elements in 'colours' = 0.7/1 = 0.7
0 - no elements in 'animals'
0.45 - average value for elements in 'vehicles' = (0.3+0.6)/2 = 0.45
所以我的输出应该是上面提到的列表的列表 -> [[0.7, 0, 0.45], [0, 0.5, 0]]
我有兴趣知道是否可以使用 pandas 数据框来做到这一点。