deflex.group_buses¶
-
deflex.
group_buses
(buses, fields)[source]¶ Group buses by parts of the label.
Parameters: - buses (list) – Buses to group.
- fields (list) – Fields of the label to group the buses. Valid labels are cat, tag, subtag, region.
Returns: Grouped buses
Return type: dict
Examples
>>> import deflex as dflx >>> from oemof.network.network import Bus >>> fn = dflx.fetch_test_files("de03_fictive.dflx") >>> my_results = dflx.restore_results(fn) >>> mybuses = set([r[0] for r in my_results["main"].keys() ... if isinstance(r[0], Bus)]) >>> sorted(dflx.group_buses(mybuses, ["cat", "tag", "subtag"]).keys())[:2] [('commodity', 'all', 'H2'), ('commodity', 'all', 'bioenergy')] >>> sorted(dflx.group_buses(mybuses, ["cat"]).keys())[:4] [('commodity',), ('electricity',), ('heat',), ('mobility',)] >>> c_buses = dflx.group_buses(mybuses, ["cat"])[('commodity',)] >>> sorted(c_buses)[0].label Label(cat='commodity', tag='all', subtag='H2', region='DE') >>> len(c_buses) 10 >>> for bu in sorted(c_buses)[:3]: ... print(repr(bu.label)) Label(cat='commodity', tag='all', subtag='H2', region='DE') Label(cat='commodity', tag='all', subtag='bioenergy', region='DE01') Label(cat='commodity', tag='all', subtag='bioenergy', region='DE02')