Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有效地计算元素的出现次数_Python - Fatal编程技术网

Python 有效地计算元素的出现次数

Python 有效地计算元素的出现次数,python,Python,谢谢你来这里 因此,我需要创建一个计数器,用于计算特定Br编号在坦克*品牌级别发生的时间。并用gap计算发生率。这是我的实际数据和结果 数据集: 结果: 现在,如果我们看1号罐,前3排有相同的罐,相同的品牌和相同的br,所以计数器=1,如果我们看6号和第7排,相同的罐,相同的品牌和相同的br,再次出现,间隙在中间。所以计数器将是2,并且在最后一行是相同的,所以计数器=3 现在,如果我们看第2排,第4-5排有相同的油箱,相同的品牌,相同的br so计数器=1,但是如果你看到最后第2排都是相同

谢谢你来这里

因此,我需要创建一个计数器,用于计算特定Br编号在坦克*品牌级别发生的时间。并用gap计算发生率。这是我的实际数据和结果

数据集:

结果:

  • 现在,如果我们看1号罐,前3排有相同的罐,相同的品牌和相同的br,所以计数器=1,如果我们看6号和第7排,相同的罐,相同的品牌和相同的br,再次出现,间隙在中间。所以计数器将是2,并且在最后一行是相同的,所以计数器=3
  • 现在,如果我们看第2排,第4-5排有相同的油箱,相同的品牌,相同的br so计数器=1,但是如果你看到最后第2排都是相同的,但是油箱号不同,这是计数器=1,如果上面的油箱号相同,那么我们会写2
所以我想做这个,我已经写了类似的代码,但没有工作

countr=1
for j in tank_data['Tank No']:
    for i in tank_data.Brand:
    for idx, val in tank_data['Br No']:
        
        if val == tank_data['Br No'].iloc[ix-1]:
            tank_data['instance_counter'] = countr
        elif val != tank_data['Br No'].iloc[ix-1] and val not in tank_data['instance_counter'].unique():
            tank_data['instance_counter'] = countr
        elif val != tank_data['Br No'].iloc[ix-1] and val in tank_data['instance_counter'].unique():
            cout = tank_data[tank_data['Br No']==val]
            cout1 = cout['instance_counter'].max()
            tank_data['instance_counter'] += max
            
    countr = 1   
countr = 1

请帮忙?

所以,我会这样做。我会有一个结果数组,在那里我会存储坦克*品牌等级的计数器和字典作为一个键,数组中的索引作为值

data = [
    {
        'tank': 'a',
        'brand': 'b'
    },
    {
        'tank': 'a',
        'brand': 'a'
    }
]
result = []
keys = {}

for el in data:
    key = el['tank'] + el['brand']
    if key in keys:
        result[keys[key]] += 1
    else:
        result.append(1)
        keys[key] = len(result - 1)