Source code for bw2analyzer.lci

import pandas as pd
from bw2data import get_activity
from bw2calc import LCA

[docs]def get_labeled_inventory(lca: LCA) -> pd.DataFrame: """ Take an LCA's inventory matrix and labels its rows (biosphere) and columns (technosphere) with activity metadata. Args: * *lca* (bw2calc.LCA): LCA object whose life cycle inventory has been calculated previously. Returns: pd.DataFrame with activity information as row and column MultiIndices. """ assert hasattr( lca, "inventory" ), "Must calculate life cycle inventory first. Please call lci()." rows = [ get_activity(lca.dicts.biosphere.reversed[i]).as_dict() for i in range(lca.inventory.shape[0]) ] columns = [ get_activity(lca.dicts.activity.reversed[i]).as_dict() for i in range(lca.inventory.shape[1]) ] return pd.DataFrame( data=lca.inventory.todense(), index=pd.MultiIndex.from_frame(pd.DataFrame(rows)), columns=pd.MultiIndex.from_frame(pd.DataFrame(columns)), )