【发布时间】:2021-11-10 09:58:24
【问题描述】:
我需要在不使用熊猫的情况下按条件合并 2 个字典列表
x1 - 事实值
x1 = [{'id': '94ffe1d6-0afa-11ec-b139-4cd98f4d62e3',
'fact_group': '0.05',
'probability': 0.2},
{'id': '86ae0229-0af8-11ec-be8c-4cd98f847094',
'fact_group': '0.05',
'probability': 0.56},
{'id': '867ef7ac-0af8-11ec-be8c-4cd98f847094',
'fact_group': '0.2',
'probability': 0.31},
{'id': '211bc00c-0af6-11ec-b139-4cd98f4d62e3',
'fact_group': '0.2',
'probability': 0.96}]
x2 - 带有到标签点的间隔概率的字典列表
x2 = [{'group': 0.05,
'predict_labels': 0,
'predict_intervals_min': 0.00,
'predict_intervals_max': 0.6},
{'group': 0.05,
'predict_labels': 1,
'predict_intervals_min': 0.6,
'predict_intervals_max': 1.0},
{'group': 0.2,
'predict_labels': 2,
'predict_intervals_min': 0.0,
'predict_intervals_max': 0.45},
{'group': 0.2,
'predict_labels': 3,
'predict_intervals_min': 0.45,
'predict_intervals_max': 1.0}]
我需要通过x1['fact_group'] & x2['group'] 合并它们
和x1['probability']>=x2['predict_intervals_min']
和x1['probability']<x2['predict_intervals_max']
预期:通过阈值和组更新 x2['predict_labels'] 来更新 x1
x3 = [{'id': '94ffe1d6-0afa-11ec-b139-4cd98f4d62e3',
'predict_labels': 1,
'fact_group': '0.05',
'predict_labels': 0,
'probability': 0.2},
{'id': '86ae0229-0af8-11ec-be8c-4cd98f847094',
'predict_labels': 1,
'fact_group': '0.05',
'predict_labels': 0,
'probability': 0.56},
{'id': '867ef7ac-0af8-11ec-be8c-4cd98f847094',
'fact_group': '0.2',
'predict_labels': 2,
'probability': 0.31},
{'id': '211bc00c-0af6-11ec-b139-4cd98f4d62e3',
'fact_group': '0.2',
'predict_labels': 3,
'probability': 0.96}]
【问题讨论】:
标签: python json list dictionary merge