【发布时间】:2018-04-09 13:48:59
【问题描述】:
我有以下计数器列表
[Counter({'A': 2, 'B': 2, 'C': 1}),
Counter({'A': 3, 'B': 3, 'C': 2}),
Counter({'A': 4, 'B': 4, 'C': 4}),
Counter({'A': 5, 'B': 4, 'C': 5}),
Counter({'A': 6, 'B': 6, 'C': 6}),
Counter({'A': 7, 'B': 8, 'C': 8}),
Counter({'A': 8, 'B': 9, 'C': 9}),
Counter({'A': 9, 'B': 12, 'C': 10}),
Counter({'A': 11, 'B': 14, 'C': 13}),
Counter({'A': 13, 'B': 17, 'C': 17}),
Counter({'A': 15, 'B': 19, 'C': 20}),
Counter({'A': 17, 'B': 22, 'C': 22}),
Counter({'A': 19, 'B': 24, 'C': 24}),
Counter({'A': 22, 'B': 26, 'C': 27}),
Counter({'A': 24, 'B': 29, 'C': 29}),
Counter({'A': 26, 'B': 30, 'C': 30}),
Counter({'A': 30, 'B': 33, 'C': 35}),
Counter({'A': 34, 'B': 35, 'C': 38}),
Counter({'A': 37, 'B': 40, 'C': 42}),
Counter({'A': 40, 'B': 42, 'C': 46})]
对于每个计数器,我想计算概率。我这样做如下:
counts = ({'A': 2, 'B': 2, 'C': 1})
counts
total = sum(counts.values())
print(total)
probability_mass = {k:v/total for k,v in counts.items()}
print(probability_mass)
我不得不手动删除计数器,这根本不是 pythonic。我怎样才能对每个计数器进行这样的操作,即首先为
找到概率Counter({'A': 2, 'B': 2, 'C': 1})
那么对于
Counter({'A': 3, 'B': 3, 'C': 2})
等等等等然后用它们制作一个DataFrame?
【问题讨论】:
-
你的意思是你必须手动删除计数器?您的代码中没有任何地方删除任何内容。 “我怎样才能对每个计数器执行相同的操作”的答案是“使用循环”。真的,我不明白是什么给你带来了麻烦?
标签: python python-3.x list pandas counter