我正在尝试计算字典中的份数。
我的字典
{0: 'once', 1: 'twice', 2: 'twice'}
我的代码:
def count(self, item):
"""Return the number of copies of item in the bag.
Return zero if the item doesn't occur in the bag.
"""
counter = 0
for key in self.bag:
if item == item:
counter = len(self.bag) - 1
else:
counter = 0
print(counter)
return counter
应返回2,因为有2个副本和1个重复项。
答案 0 :(得分:3)
在这里Counter
方便实用。您可以制作一个Counter
来跟踪字典中的所有值。就像这样简单:
from collections import Counter
temp = {0: 'once', 1: 'twice', 2: 'twice'}
counter = Counter (temp.values())
这将返回Counter({'twice': 2, 'once': 1})
。
现在,要查找多少副本,您只需获取len (counter)
,所有重复项都是计数(值)> 1的任何项(键):
duplicates = [key for key, count in counter.items() if count > 1]
答案 1 :(得分:0)
您可以使用 data[['datum','PM10_gemiddelde']].loc[data['PM10_gemiddelde'] > 0 ].groupby(['datum']).mean()
模块。
copy
import collections
import copy
cnt = collections.Counter([1,2,3,3,2,4,5,6,7])
def f1(c):
c[2] = 0
tmp = copy.deepcopy(cnt)
f1(tmp)
调用后 cnt
保持不变。