在wurst中,如何删除活动中的交换并添加新交换

时间:2018-01-16 21:54:32

标签: brightway

我创建了一个新活动“alu_in_no”,如下代码:

alu_in_eu = w.get_one(data, w.equals('location','IAI Area, EU27 & EFTA'), w.contains("name", "aluminium production, primary, liquid, prebake"))
alu_in_no = w.transformations.geo.copy_to_new_location(alu_in_eu, 'NO')
data.append(alu_in_no)
w.transformations.geo.relink_technosphere_exchanges(
    alu_in_no,
    data,
    contained=False
)

新活动有以下交换:

{'amount': 14.65,
 'loc': 14.65,
 'location': 'IAI Area, EU27 & EFTA',
 'name': 'market for electricity, medium voltage, aluminium industry',
 'pedigree': {'completeness': 1,
  'further technological correlation': 1,
  'geographical correlation': 1,
  'reliability': 1,
  'temporal correlation': 3}

我想在此活动中删除此交换并替换新的交换,例如:

 {'amount': 1.0,
   'loc': 1.0,
   'location': 'NO',
   'name': 'market for electricity, medium voltage',
   'product': 'electricity, medium voltage',
   'production volume': 131798608305.945,
   'type': 'production',
   'uncertainty type': 0,
   'unit': 'kilowatt hour'}

换句话说,我想取消之前活动的链接并链接另一项活动?我相信wurst必须有一些功能可以做到,但我找不到。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

交换列表是一个普通列表,因此您可以像删除任何其他列表一样删除交换,例如del my_list[some_indexmy_list = [x for x in my_list if some_condition_on_x(x)]

您需要重新链接新的交换,但您已经知道如何执行此操作:relink_technosphere_exchanges。您可以多次运行它,它不会更改已链接的交换。