def read_kraftwerksliste(with_latlon=True): kraftwerke = pd.read_csv('../../lib/vresutils/data/Kraftwerksliste_CSV_deCP850ed.csv', delimiter=';', encoding='utf-8', thousands='.', decimal=',') def sanitize_names(x): try: x = x[:x.index('(')] except ValueError: pass return x.replace(u'\n', u' ').strip() kraftwerke.columns = kraftwerke.columns.map(sanitize_names) def sanitize_plz(x): try: x = x.strip() if len(x) > 5: x = x[:5] return float(x) except (ValueError, AttributeError): return np.NAN kraftwerke.PLZ = kraftwerke.PLZ.apply(sanitize_plz) if with_latlon: postcodes = {pc: sh.centroid for pc, sh in iteritems(vshapes.postcodeareas()) if sh is not None} kraftwerke['lon'] = kraftwerke.PLZ.map({pc: c.x for pc, c in iteritems(postcodes)}) kraftwerke['lat'] = kraftwerke.PLZ.map({pc: c.y for pc, c in iteritems(postcodes)}) #kraftwerke.dropna(subset=('lon','lat'), inplace=True) kraftwerke[u'Type'] = kraftwerke[u"Auswertung Energieträger"].map({ u'Erdgas': u'Gas', u'Grubengas': u'Gas', u'Laufwasser': u'Run of River', u'Pumpspeicher': u'Pumped Hydro', u'Speicherwasser (ohne Pumpspeicher)': u'Storage Hydro', u'Mineralölprodukte': u'Oil', u'Steinkohle': u'Hard Coal', u'Braunkohle': u'Brown Coal', u'Abfall': u'Waste', u'Kernenergie': u'Nuclear', u'Sonstige Energieträger\n(nicht erneuerbar) ': u'Other', u'Mehrere Energieträger\n(nicht erneuerbar)': u'Multiple', u'Biomasse' : u'Biomass', u'Deponiegas' : u'Gas', u'Klärgas' : u'Gas', u'Geothermie' : u'Geothermal', u'Windenergie (Onshore-Anlage)' : u'Wind Onshore', u'Windenergie (Offshore-Anlage)' : u'Wind Offshore', u'Solare Strahlungsenergie' : u'Solar', u'Unbekannter Energieträger\n(nicht erneuerbar)' : u'Other' }) return kraftwerke
def read_kraftwerksliste(with_latlon=True): kraftwerke = pd.read_csv( "../../lib/vresutils/data/Kraftwerksliste_CSV_deCP850ed.csv", delimiter=";", encoding="utf-8", thousands=".", decimal=",", ) def sanitize_names(x): try: x = x[: x.index("(")] except ValueError: pass return x.replace(u"\n", u" ").strip() kraftwerke.columns = kraftwerke.columns.map(sanitize_names) def sanitize_plz(x): try: x = x.strip() if len(x) > 5: x = x[:5] return float(x) except (ValueError, AttributeError): return np.NAN kraftwerke.PLZ = kraftwerke.PLZ.apply(sanitize_plz) if with_latlon: postcodes = {pc: sh.centroid for pc, sh in iteritems(vshapes.postcodeareas()) if sh is not None} kraftwerke["lon"] = kraftwerke.PLZ.map({pc: c.x for pc, c in iteritems(postcodes)}) kraftwerke["lat"] = kraftwerke.PLZ.map({pc: c.y for pc, c in iteritems(postcodes)}) # kraftwerke.dropna(subset=('lon','lat'), inplace=True) kraftwerke[u"Type"] = kraftwerke[u"Auswertung Energieträger"].map( { u"Erdgas": u"Gas", u"Grubengas": u"Gas", u"Laufwasser": u"Run of River", u"Pumpspeicher": u"Pumped Hydro", u"Speicherwasser (ohne Pumpspeicher)": u"Storage Hydro", u"Mineralölprodukte": u"Oil", u"Steinkohle": u"Hard Coal", u"Braunkohle": u"Brown Coal", u"Abfall": u"Waste", u"Kernenergie": u"Nuclear", u"Sonstige Energieträger\n(nicht erneuerbar) ": u"Other", u"Mehrere Energieträger\n(nicht erneuerbar)": u"Multiple", u"Biomasse": u"Biomass", u"Deponiegas": u"Gas", u"Klärgas": u"Gas", u"Geothermie": u"Geothermal", u"Windenergie (Onshore-Anlage)": u"Wind Onshore", u"Windenergie (Offshore-Anlage)": u"Wind Offshore", u"Solare Strahlungsenergie": u"Solar", u"Unbekannter Energieträger\n(nicht erneuerbar)": u"Other", } ) return kraftwerke