Election Commission of India — Boundaries & Results¶
Parliamentary and Assembly constituency boundaries, election results data — essential for political and demographic analysis.
What Is Available?¶
The Election Commission of India maintains detailed spatial and statistical data on Indian elections:
Constituency Boundaries¶
| Type | Count | Description |
|---|---|---|
| Lok Sabha (Parliamentary) | 543 | National constituency boundaries |
| State Assembly (Vidhan Sabha) | ~4,120 | State-level constituency boundaries |
| Municipal Wards | Varies | City-level ward boundaries (selected cities) |
Election Results Data¶
| Dataset | What It Contains | Format |
|---|---|---|
| Detailed Results | Candidate-wise votes for every election since 1962 | PDF / CSV |
| Party-wise Seats | Party performance at state and national level | Excel |
| Voter Turnout | % turnout by constituency and round | CSV |
| EPIC Data | Voter enrollment statistics |
How to Access¶
Free Downloads (No Login)¶
Election Results (CSV/Excel):
- Go to eci.gov.in
- Navigate to "Statistical Reports" → "General Elections"
- Choose year (1962 to 2024)
- Download result PDFs or Excel files
Better Source for Structured Results: The most researcher-friendly source for ECI data is the Trivedi Centre for Political Data (TCPD):
- Download structured CSV of all election results since 1962
- Candidate-level data with party, votes, and winner information
- Free for academic use
GIS Boundary Files¶
Constituency shapefiles are available through:
- Datameet India (community portal):
- https://projects.datameet.org/maps/assembly-constituencies/
- Free download, no login
-
Covers most state assembly constituencies
-
TCPD GIS Data:
- https://tcpd.ashoka.edu.in/
- Login required (free academic registration)
- Parliamentary constituency shapefiles matched to election results
Joining Election Data to Maps¶
The real power of ECI data comes from joining results to constituency boundaries to make choropleth maps.
import geopandas as gpd
import pandas as pd
# Load constituency boundaries (from Datameet)
constituencies = gpd.read_file("assembly_constituencies_maharashtra.shp")
# Load election results (from TCPD or ECI)
results = pd.read_csv("maharashtra_assembly_2019.csv")
# Join on constituency name or code
merged = constituencies.merge(results, left_on='AC_NAME', right_on='constituency')
# Plot winning party
import matplotlib.pyplot as plt
merged.plot(column='winning_party', legend=True, figsize=(10,12),
categorical=True, cmap='Set3')
plt.title("Maharashtra Assembly Results 2019")
plt.axis('off')
plt.show()
✏️ Practice Exercise¶
Exercise 1.5 — Map Your State's Election Results
Goal: Download and visualise assembly election results for your state.
- Go to tcpd.ashoka.edu.in and register (free)
- Download: State Assembly Results CSV for your state
- Download: Assembly Constituency shapefile from Datameet
- Join in QGIS: Vector → Data Management Tools → Join Attributes by Field Value
- Style by winning party using Categorized symbology
Questions: - [ ] Which party won the most constituencies in the last election? - [ ] Is there a geographic pattern — do certain regions vote differently? - [ ] Which constituency had the highest voter turnout?
Next Dataset: Survey of India →