Python函数将一个列表RDD转换为一对RDD,其中包含唯一的单词及其计数?
我如何编写一个函数来转换RDD,它是一个单词列表,如 ['Alpha','Beta','Gamma','Beta','Alpha'] 使用唯一的单词和它们出现的次数(在本例中为 [('Alpha',1),('Beta',2),('Gamma',2)]Python函数将一个列表RDD转换为一对RDD,其中包含唯一的单词及其计数?,python,function,rdd,Python,Function,Rdd,我如何编写一个函数来转换RDD,它是一个单词列表,如 ['Alpha','Beta','Gamma','Beta','Alpha'] 使用唯一的单词和它们出现的次数(在本例中为 [('Alpha',1),('Beta',2),('Gamma',2)] ?使用集合。计数器命令: from collections import Counter print(Counter(['Alpha', 'Beta', 'Gamma', 'Beta', 'Alpha'])).items() [('Alpha',
?使用集合。计数器命令:
from collections import Counter
print(Counter(['Alpha', 'Beta', 'Gamma', 'Beta', 'Alpha'])).items()
[('Alpha', 2), ('Beta', 2), ('Gamma', 1)]
如果要从最低频率到最高频率,请使用反转。最常用:
from collections import Counter
l = ['Alpha', 'Beta', 'Gamma', 'Beta', 'Alpha']
print(list(reversed(Counter(l).most_common())))
[('Gamma', 1), ('Beta', 2), ('Alpha', 2)]
如果您希望它们以第一次出现的顺序出现,请使用OrderedDict:
from collections import OrderedDict
l = ['Alpha', 'Beta', 'Gamma', 'Beta', 'Alpha']
od = OrderedDict.fromkeys(l,0)
for ele in l:
od[ele] += 1
print(od.items())
[('Alpha', 2), ('Beta', 2), ('Gamma', 1)]