方法一:复杂
result_dict = {
"cls": [0, 1, 0, 3, 3],
"pro": [0.826, 0.501, 0.876, 0.345, 0.862],
"x": [1102, 1123, 345, 567, 345],
"y": [563, 123, 345, 621, 321],
"w": [81, 40, 60, 42, 56],
"h": [93, 54, 67, 84, 45]
}
cls, pro, x, y, w, h = result_dict["cls"], result_dict["pro"], result_dict["x"], result_dict["y"], result_dict["w"], result_dict["h"]
delete_index = []
for i, pro_ in enumerate(pro):
if pro_ < 0.6 :
delete_index.append(i)
if delete_index:
for j in delete_index[::-1]:
del pro[j], cls[j], x[j], y[j], w[j], h[j]
delete_index1 = []
for i, cls_ in enumerate(cls):
if cls_ == "3":
delete_index1.append(i)
if delete_index1:
for j in delete_index1[::-1]:
del pro[j], cls[j], x[j], y[j], w[j], h[j]
print(result_dict)
new_cls = result_dict["cls"]
set_cls = set(new_cls)
result_cls = {}
for i in set_cls:
result_cls[i] = new_cls.count(i)
print(result_cls)
for a in set_cls:
if a == "0":
result_cls[a] = [result_cls[a], "塑料袋"]
elif a == "3":
result_cls[a] = [result_cls[a], "木棍"]
for i in set_cls:
print("标签为%s的数量为%d" % (result_cls[i][1], result_cls[i][0]))
方法二:精简
import pandas as pd
result_dict = {
"cls": [0, 1, 0, 3, 3],
"pro": [0.826, 0.501, 0.876, 0.345, 0.862],
"x": [1102, 1123, 345, 567, 345],
"y": [563, 123, 345, 621, 321],
"w": [81, 40, 60, 42, 56],
"h": [93, 54, 67, 84, 45]
}
cls, pro, x, y, w, h = result_dict["cls"], result_dict["pro"], result_dict["x"], result_dict["y"], result_dict["w"], result_dict["h"]
for j in range(len(cls) - 1, -1, -1):
if pro[j] < 0.6:
del pro[j], cls[j], x[j], y[j], w[j], h[j]
print(result_dict)
new_result_dict = {a: result_dict["cls"].count(a) for a in set(result_dict["cls"])}
print(new_result_dict)
for a in set(result_dict["cls"]):
if a == 0:
new_result_dict[a] = [new_result_dict[a], "塑料袋"]
elif a == 3:
new_result_dict[a] = [new_result_dict[a], "木棍"]
for i in set(new_result_dict):
print("标签为%s的数量为%d" %(new_result_dict[i][1], new_result_dict[i][0]))