Skip to content

common

General utility functions for PyPSA components.

Functions:

  • as_components –

    Get component instance from string.

  • invariant –

    Index static data by name, requiring identical values across scenarios.

pypsa.components.common.as_components

as_components(n: NetworkType, value: str | Components) -> Components

Get component instance from string.

v0.33.0

E.g. pass 'Generator', 'generators' or Components class instance to get the corresponding Components class instance.

Parameters:

  • value (str | Components) –

    String or Components class instance.

  • n (Network) –

    Network instance to which the components are attached.

Returns:

Examples:

>>> # Get generators component from string
>>> generators = pypsa.components.common.as_components(n, 'generators')
>>> generators.name
'Generator'
>>> # Also works with singular form
>>> gen = pypsa.components.common.as_components(n, 'Generator')
>>> gen.name
'Generator'

pypsa.components.common.invariant

invariant(data: Series | DataFrame) -> Series | DataFrame

Index static data by name, requiring identical values across scenarios.

Parameters:

  • data (Series | DataFrame) –

    Static data, optionally with a (scenario, name) index.

Returns:

  • Series | DataFrame –

    data unchanged if it has no scenario level, otherwise reduced to the name index.

Raises:

  • ValueError –

    If values differ across scenarios.

Examples:

>>> carrier = n_stochastic.c.generators.static.carrier
>>> pypsa.components.common.invariant(carrier)
name
solar        solar
wind          wind
gas            gas
lignite    lignite
Name: carrier, dtype: object