我使用 Wurst python 包对我的 lci 数据库进行了一些更改。然后我使用write_brightway2_database()
.
获得16718个数据集,462812个交易所和0个未链接的交易所。
然后,我尝试用修改后的数据库计算 LCA 分数,我得到一个非方形的技术领域矩阵,具有以下维度:16718 个活动(列)和 16717 个产品(行)。
这就是我尝试计算 LCA 分数的方式:
lca = LCA({db.random(): 1}, method=lcia_methods['CC'])
lca.lci()
lca.lcia()
print(lca.score)
我得到的错误信息:
NonsquareTechnosphere:Technosphere 矩阵不是方形的:16718 个活动(列)和 16717 个产品(行)。使用 LeastSquaresLCA 解决这个系统,或者修复输入数据
然后,我尝试了以下方法,以及此处推荐的一些变体:
for a in Database("database"):
assert len(a.production()) == 1
但是没有弹出数据集。
在以 BW2 格式从 Wurst 重写我的数据库之前,我还尝试过执行以下操作:
producion = {}
for ds in db:
key = ds['code']
producion[key] = []
for exc in ds['exchanges']:
if exc['type'] == 'production':
producion[key].append(exc['name'])
for v in producion.values():
if len(v) != 1:
print(v)
但同样,我无法识别任何有问题的数据集这样做。
是否有一种简单的方法可以识别哪些活动或哪些产品导致了非方形技术领域矩阵,以修复我的输入数据?