要实现“按类别显示成功百分比”的功能,可以按照以下步骤进行解决:
data = [
{'category': 'A', 'success': True},
{'category': 'B', 'success': False},
{'category': 'A', 'success': True},
{'category': 'C', 'success': True},
{'category': 'B', 'success': True},
{'category': 'B', 'success': False},
{'category': 'C', 'success': True},
]
category_count = {} # 用于保存每个类别的计数
category_success = {} # 用于保存每个类别的成功计数
for d in data:
category = d['category']
success = d['success']
# 更新类别的计数
if category in category_count:
category_count[category] += 1
else:
category_count[category] = 1
# 更新类别的成功计数
if success:
if category in category_success:
category_success[category] += 1
else:
category_success[category] = 1
# 计算成功百分比
category_percentage = {}
for category in category_count:
success_count = category_success.get(category, 0)
total_count = category_count[category]
percentage = success_count / total_count * 100
category_percentage[category] = round(percentage, 2)
print(category_percentage)
上述代码中,首先定义了两个字典变量category_count
和category_success
,用于保存每个类别的计数和成功计数。然后,遍历数据集,更新这两个字典的值。最后,计算每个类别的成功百分比,并保存在category_percentage
字典中。最后,打印出每个类别的成功百分比。
运行上述代码,输出结果可能如下:
{'A': 100.0, 'B': 33.33, 'C': 100.0}
这表示类别A的成功百分比为100%,类别B的成功百分比为33.33%,类别C的成功百分比为100%。