Energy QC clean AI-training-safe

European Installed Generation Capacity by Fuel

Year-by-year installed generation capacity (MW) by fuel type for every European bidding zone - the structural backdrop to every supply/merit-order analysis, cleaned from ENTSO-E into one Parquet.

4K
rows
29
zones
2017-2026
coverage
0.6 MB
download
Source
ENTSO-E
Licence
Redistributable open data
Updates
Annual
Data through
2026-01-01
Quality
QC clean · 0 failures
Format
Apache Parquet + dictionary

Safe to train on

Built only from a named, redistributable official source under a documented open licence - not scraped web data. No copyright grey zone, no personal data. Ships machine-readable Croissant metadata (ML Commons - loads in Hugging Face / Kaggle / Google), an AI training-licence manifest documenting source, licence and provenance for your model's data governance, and a machine-readable data dictionary (drop it into an agent / RAG prompt so the model knows every column) - all inspectable before you buy.

What's included

  • Installed capacity by fuel type, all ~28 EU zones, yearly 2018-2026
  • Fuel codes decoded to names (Nuclear, Fossil Gas, Wind Offshore, …)
  • One row per zone × fuel × year; flat + partitioned
  • The denominator for capacity-factor and energy-transition analytics

Schema

ColumnTypeDescriptionFilledDistinct
zone str Bidding zone 100.0% 29
ts timestamp (UTC) Year (period start) 100.0% 33
fuel str Decoded production type 100.0% 21
capacity_mw float Installed capacity, MW 100.0% 1,501
unit str Unit 100.0% 1
res_min int Native resolution in minutes (15/30/60) 100.0% 1

Sample & preview

Every purchase ships as Apache Parquet with a data dictionary and the full QC report. A free sample (first rows + schema) is downloadable here - confirm fit before you buy. Source: ENTSO-E (redistributable open data; attribution passes through - see our Licence).

Don't trust screenshots - drop the sample into your notebook right now.

import pandas as pd
df = pd.read_parquet("european-installed-capacity_sample.parquet")
df.info()   # typed columns, gap-aware, ready to join
⬇ Download free Parquet sample or CSV for Excel
Coverage: 29 zones

AT · BE · BG · CH · CZ · DE_LU · DK1 · DK2 · EE · ES · FI · FR · GR · HR · HU · IE_SEM · LT · LV · NL · NO1 · NO2 · NO3 · NO4 · NO5 · PL · PT · RO · SI · SK