5. Querschnittsanalyse via Numpy

balablasb

class wsgi.npqa.NpQaKlasse(wahl_akt_id: int, wahl_alt_id: int, krit_id: int, klasse_id: int, bl: int = 0)[Quellcode]

Querschnittsanalyse über eine einzige Klasse. Summiert die Ergebnisse der Klasse selbst.

wsgi.npqa.add_key_to_redis_keys_for_qa(key)[Quellcode]

Setze den angegebenen Key mit einer value=key und einer Expirytime von REDIS_NPQAKRIT_KEY_LIFETIME_SECONDS Der Key ist ein Key von get_redis_npqakrit_key(), zB. npqakrit:132:18:16:0 Alle “npqakrit*” Keys werden bei der nächsten QA brücksichtigt und damit stehen sie dann im Cache bereit. :param key: :return:

wsgi.npqa.complete_erg_arrays = None

Enhält die Gemeindeergebnisse aller betroffenen Wahlen. Wird durch np_complete_erg_array_for_wahl() befüllt, das wiederum in initialize() aufgerufen wird. type: Dict[wahl_id, GemeindeErgebnis]

wsgi.npqa.get_redis_npqakrit_key(krit_id: int, wahl_alt_id: int, wahl_akt_id: int, bl: int)[Quellcode]

Erstelle aus den Parametern einen eindeutigen Key, indem das REDIS_NPQAKRIT_PREFIX und die Zahlen mit ”:” gejoined werden. >>> get_redis_npqakrit_key(132, 16, 18, 0) >>> ‘npqakrit:132:16:18:0’ :param krit_id: :param wahl_alt_id: :param wahl_akt_id: :param bl: :return: str

wsgi.npqa.initialize(force_reload_ergebnisse=False)[Quellcode]

Initialisiere alle notwendigen Datenstrukturen für die Qa:

  • redis_connection
  • redis_work_connection - die RedisDB, in der die QA berechnet wird, anschliessend werden alle Objekte von dort mittels mset() atomic in die richtie RedisDB geschrieben. Damit gibts immer einen konsistenten Stand.
  • DEFAULT_REDIS_NPQAKRIT_KEYS - Alle NpQaKritKeys (npqakrit:132:18:16:0) die automatisch bei jeder QA berechnet werden. Default mäßig ist das eine Kombination von alle Kriterien der Hochrechnung und alte Wahl/fiktive Basis gegen neue Wahl
  • KRIT_IDS_OF_KRITERIEN_WITH_KRITKLASSEN - IDs der Kriterien, deren Klassen wiederum aus Kriterien aka KritKlassen bestehen. Wird von NpQaKrit genutzt um entweder eine NpQaKlasse oder eine NpQaKritKlasse zu erzeugen
  • complete_erg_arrays - Dictionary mit key=wahl_id, value=np_complete_erg_array_for_wahl, sprich alle Gemeindeergebnisse der angegebenen Wahl in einem NumPy Array.
  • index_gkz - Dict von gemeinde[gkz]-> Index im complete_erg_array
  • gkz_index - umgekehrt
Parameter:force_reload_ergebnisse
Rückgabe:
wsgi.npqa.np_complete_erg_array_for_wahl(wahl_id: int, bl: int = 0) → <built-in function array>[Quellcode]

return a numpy array mit gkz, wab, abg, gig, p01 ... p20 für alle Gemeinden der Wahl. Keine Fake Ergebnisse, sortiert nach gkz. :param wahl_id: wahl_it :param bl: Bundesland :return: np.array vom typ int32)

wsgi.npqa.np_erg_array_for_gks(a: <built-in function array>, gkzs: list) → <built-in function array>[Quellcode]

Return the numpy erg array with only the gkzs from the list :param a: :param gkzs: :return:

wsgi.npqa.sum_np_erg_array(a: <built-in function array>) → <built-in function array>[Quellcode]

Summiere alle Spalten des Arrays :param a: :return: