{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Energy inequality\n", "\n", "If you care for equality, care for this analysis. Without the numbers, we won't grasp the current energy inequality. A small portion of the world is using a large portion of the energy we have, and since it is mostly from fossil fuels, it is mostly limited. Being able to regonize this, is a required step to take towards energy equality and climate justice.\n", "\n", "This analysis can help us answer concrete questions.\n", "\n", "> __Question:__ How much would your country need to reduce its energy consumption in order to levelize with the world average?\n", "\n", "In this _Jupyter Notebook_, I'm going to download data, refine it, and present a graph. The graph is meant to highlight the energy inequality across the world.\n", "\n", "Note that while you can _view_ this notebook, you can also _run_ the code within this notebook. But, what if you don't have all the tools available to do so, such as Python for example? Well, just click the link below, and _mybinder.org_ will allow you to temporarily remote control a server with everything ready.\n", "\n", "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/consideratio/climate-data-science/master?urlpath=/lab/tree/notebooks/energy_inequality.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## My inspiration - Mathies Beckers\n", "Thies Beckers, also known as [The Nuclear Humanist](https://www.youtube.com/channel/UClAcmfVpcKCEmHG3VrBh6-A) on YouTube, made me realize how unethical assumptions we often make. These assumptions can require energy poor inhabitants of the world to remain energy poor. There are many issues of being energy poor, but consider for example how one would need to use combustable fuels indoors for cooking, heating, and lighting. This leads to air pollution, and air pollution leads to the millions of premature deaths from indoor according to the World Health Organization. The WHO even thinks that air pollution and climate change is the biggest global health threat 2019.\n", "\n", "Below is the video that made me realize the issue of energy inequality." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "jupyter": { "source_hidden": true } }, "outputs": [ { "data": { "image/jpeg": "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hXkkuiUnhHU7elJ5cUX7T39qXtL0jROo7FovZ9ZqNzzI6nobVUxRlx5u3RU4zwHHuWLWuK1zLnrzcn5t5Z2Rpxh91YLsP7XjbKOVg0SP/gKv3pY2D7wPK8bZvoDRX8hV+9JgYI+V72z/AEFov+Qq/ekwMDyve2f6C0X/ACFX70mBgeV72z/QWi/5Cr96TAwPK97Z/oLRf8hV+9JgYHle9s/0Fov+Qq/ekwMDyve2f6C0X/IVfvSYGB5XvbP9BaL/AJCr96TAwPK97Z/oLRf8hV+9JgYHle9s/wBBaL/kKv3pMDBDyvO2bOfgDRWf/wBBV+9JgYHleNsv0Bon2fV+9JgYHleNs30Bor2fVe9JgYHleNsv0Bon2fV+9JgYIeV32y/V/RPs+r96TAwPK77Zfq/on2fV+9JgYHld9sv1f0T7Pq/ekwMDyu+2X6v6J9n1fvSYGB5XfbL9X9E+z6v3pMDA8rvtl+r+ifZ9X70mBgeV32y/V/RPs+r96TAwPK77Zfq/on2fV+9JgYHld9sv1f0T7Pq/ekwMDyu+2X6v6J9n1fvSYGB5XfbL9X9E+z6v3pMDA8rvtl+r+ifZ9X70mBgeV32y/V/RPs+r96TAwPK77Zfq/on2fV+9JgYHld9sv1f0T7Pq/ekwMDyu+2X6v6J9n1fvSYGB5XfbL9X9E+z6v3pMDA8rvtl+r+ifZ9X70mBgeV32y/V/RPs+r96TAwPK77Zfq/on2fV+9JgYHld9sv1f0T7Pq/ekwMDyu+2X6v6J9n1fvSYGB5XfbL9X9E+z6v3pMDA8rvtl+r+ifZ9X70mBgeV32y/V/RPs+r96TAwPK77Zfq/on2fV+9JgYHld9sv1f0T7Pq/ekwMDyu+2X6v6J9n1fvSYGCPld9so/wDq/on2fV+9JgYI+V52zfQOiv5Cr96TAwB/a9bZxysOih/8BV+9JgYHle9s4/8AcOiv5Cr96TAwPK97Z/oLRf8AIVfvSYGB5XvbP9BaL/kKv3pMDA8r3tn+gtF/yFX70mBgeV72z/QWi/5Cr96TAwPK97Z/oLRf8hV+9JgYHle9s/0Fov8AkKv3pMDA8r3tn+gtF/yFX70mBgeV72z/AEFov+Qq/ekwMDyve2f6C0X/ACFX70mBgeV72z/QWi/5Cr96TAwD/a9bZ3DBsOiiOXGgq/ekwMHD65OQgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCAIAgCA//2Q==\n", "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import IPython.display\n", "IPython.display.YouTubeVideo(id='FARZBZAGon4', width=\"100%\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# The Analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1 - Get energy and population data\n", "I'll look at 2018's energy consumption and population across the world.\n", "\n", "The company British Petroleum (BP) is well known for the oil leak, but also for making a [_Statistical Review of World Energy_](https://bp.com/statisticalreview) that they publish yearly. This contains the kind of data I need." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "## Download the data using the python built in library called requests\n", "import requests\n", "import os.path\n", "\n", "base_url = \"https://www.bp.com/content/dam/bp/business-sites/en/global/corporate/xlsx/energy-economics/statistical-review/\"\n", "data_files = [\n", " \"bp-stats-review-2019-all-data.xlsx\",\n", " \"bp-stats-review-2019-consolidated-dataset-narrow-format.xlsx\",\n", "]\n", "for data_file in data_files:\n", " if not os.path.exists(\"data/\" + data_file):\n", " r = requests.get(base_url + data_file, allow_redirects=True)\n", " open(\"data/\" + data_file, 'wb').write(r.content)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2 - Refine the data\n", "\n", "Before we can present a graph, we need to refine the data to what we need to present the graph I have in mind." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "## Pandas and Numpy are goto libraries for Data Science in Python\n", "import pandas as pd\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# NOTE: This cell takes almost a minute to execute\n", "# Load the data from the .xlsx files into memory (Pandas dataframes)\n", "energy = pd.read_excel(\"data/\" + data_files[0], sheet_name=3, skiprows=2, skipfooter=11, usecols=\"A:BC\")\n", "population = pd.read_excel(\"data/\" + data_files[1])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Filter and rename the data frames\n", "energy = energy.rename(columns={\n", " \"Gigajoule per capita\": \"Country\",\n", " 2018: \"Energy / Capita\"\n", "})\n", "energy = energy.dropna(subset=[\"Country\", \"Energy / Capita\"])\n", "\n", "population = population[\n", " (population[\"Year\"] == 2018) &\n", " (population[\"Var\"] == \"pop\")\n", "]\n", "population = population.rename(columns={\n", " \"Value\": \"Population\",\n", " \"SubRegion\": \"Sub Region\"\n", "})" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Merge the energy and population data frames\n", "res = pd.merge(\n", " left=energy[[\"Country\", \"Energy / Capita\"]],\n", " right=population[[\"Country\", \"Region\", \"Sub Region\", \"Population\"]],\n", " how='outer',\n", " on=['Country']\n", ")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Extract world averages\n", "tmp = res[res[\"Country\"] == \"Total World\"].iloc[0]\n", "res = res[res[\"Country\"] != \"Total World\"]\n", "world_energy_per_capita = tmp[\"Energy / Capita\"]\n", "world_population = tmp[\"Population\"]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Calculate energy use deviation for regions from the world's average energy use\n", "res[\"Energy / Capita (offset)\"] = res[\"Energy / Capita\"] - world_energy_per_capita\n", "res[\"For equality (%)\"] = round((1/(res[\"Energy / Capita\"] / world_energy_per_capita) - 1)*100, 1)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Move some columns to the right in the Pandas dataframe\n", "cols_to_move = [\"Region\", \"Sub Region\", \"Population\"]\n", "new_cols = np.hstack((res.columns.difference(cols_to_move), cols_to_move))\n", "res = res[new_cols]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "res_country = res[~res[\"Country\"].astype(str).str.startswith('Total')]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
CountryEnergy / CapitaEnergy / Capita (offset)For equality (%)RegionSub RegionPopulation
46Turkey78.474982.44002-3.1EuropeEurope81.916871
\n", "
" ], "text/plain": [ " Country Energy / Capita Energy / Capita (offset) For equality (%) \\\n", "46 Turkey 78.47498 2.44002 -3.1 \n", "\n", " Region Sub Region Population \n", "46 Europe Europe 81.916871 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res_country[res_country[\"Country\"] == \"Turkey\"]" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "res_reg = res[res[\"Country\"].astype(str).str.startswith('Total')]\n", "res_reg = res_reg.dropna(subset=[\"Energy / Capita\"])\n", "res_reg = res_reg.drop(columns=[\"Region\", \"Sub Region\"])\n", "res_reg = res_reg.rename(columns={\"Country\": \"Region\"})\n", "res_reg[\"Region\"] = res_reg[\"Region\"].apply(lambda r: r[len(\"Total \"):])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
RegionEnergy / CapitaEnergy / Capita (offset)For equality (%)Population
3North America239.785968163.751009-68.3494.479587
15S. & Cent. America56.384874-19.65008534.8521.273445
50Europe127.37277251.337813-40.3674.079399
58CIS160.87246784.837507-52.7242.176418
68Middle East148.47187272.436913-48.8254.438981
78Africa15.002966-61.031994406.81287.920538
97Asia Pacific60.240979-15.79398026.24160.210705
\n", "
" ], "text/plain": [ " Region Energy / Capita Energy / Capita (offset) \\\n", "3 North America 239.785968 163.751009 \n", "15 S. & Cent. America 56.384874 -19.650085 \n", "50 Europe 127.372772 51.337813 \n", "58 CIS 160.872467 84.837507 \n", "68 Middle East 148.471872 72.436913 \n", "78 Africa 15.002966 -61.031994 \n", "97 Asia Pacific 60.240979 -15.793980 \n", "\n", " For equality (%) Population \n", "3 -68.3 494.479587 \n", "15 34.8 521.273445 \n", "50 -40.3 674.079399 \n", "58 -52.7 242.176418 \n", "68 -48.8 254.438981 \n", "78 406.8 1287.920538 \n", "97 26.2 4160.210705 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res_reg" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3 - Present a graph" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "linkText": "Export to plot.ly", "plotlyServerURL": "https://plot.ly", "showLink": false }, "data": [ { "offset": 0, "type": "bar", "uid": "bb506b19-096e-4d36-bf50-1e23d80bba34", "width": [ 494.47958700000004, 242.176418, 254.43898100000004, 674.0793990000001, 4160.210705, 521.2734449999999, 1287.9205379999999 ], "x": [ 0, 494.47958700000004, 736.656005, 991.0949860000001, 1665.1743850000003, 5825.385090000001, 6346.6585350000005 ], "y": [ 2.153627888226848, 1.1157697491660743, 0.9526790480957911, 0.6751869591894291, -0.20771997989235522, -0.25843487188710346, -0.8026833219125169 ] } ], "layout": { "autosize": true, "xaxis": { "autorange": true, "range": [ -121.088209, 7634.579073000001 ], "type": "linear" }, "yaxis": { "autorange": true, "range": [ -0.966922833586926, 2.317867399901257 ], "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAApcAAAHCCAYAAAC6x+JIAAAgAElEQVR4Xu3dDfBXdb3g8Q9PopKPE+DS1jW2YSYCEy+C62XQcrsia0XLihFRw6QmFk7Ik9mD6CxGPKRRWLijRI7VDDrR1kzZ7KXC2iglK3HWJcS4FRoLAjoapcDOOV3ZTP9PnPP9/b6/3//1m3HumOd8z/m9Pt8/vPk9cPscOXLkSHgQIECAAAECBAgQqEGgj7isQdESBAgQIECAAAECpYC4tBEIECBAgAABAgRqExCXtVFaiAABAgQIECBAQFzaAwQIECBAgAABArUJiMvaKC1EgAABAgQIECAgLu0BAgQIECBAgACB2gTEZW2UFiJAgAABAgQIEBCX9gABAgQIECBAgEBtAuKyNkoLESBAgAABAgQIiEt7gAABAgQIECBAoDYBcVkbpYUIECBAgAABAgTEpT1AgAABAgQIECBQm4C4rI3SQgQIECBAgAABAuLSHiBAgAABAgQIEKhNQFzWRmkhAgQIECBAgAABcWkPECBAgAABAgQI1CYgLmujtBABAgQIECBAgIC4tAcIECBAgAABAgRqExCXtVFaiAABAgQIECBAQFzaAwQIECBAgAABArUJiMvaKC1EgAABAgQIECAgLu0BAgQIECBAgACB2gTEZW2UFiJAgAABAgQIEBCX9gABAgQIECBAgEBtAuKyNkoLESBAgAABAgQIiEt7gAABAgQIECBAoDYBcVkbpYUIECBAgAABAgTEpT1AgAABAgQIECBQm4C4rI3SQgQIECBAgAABAuLSHiBAgAABAgQIEKhNQFzWRmkhAgQIECBAgAABcWkPECBAgAABAgQI1CYgLmujtBABAgQIECBAgIC4tAcIECBAgAABAgRqExCXtVFaiAABAgQIECBAQFzaAwQIECBAgAABArUJiMvaKC1EgAABAgQIECAgLu0BAgQIECBAgACB2gTEZW2UFiJAgAABAgQIEBCX9gABAgQIECBAgEBtAuKyNkoLESBAgAABAgQIiEt7gAABAgQIECBAoDYBcVkbpYUIECBAgAABAgTEpT1AgAABAgQIECBQm4C4rI3SQgQIECBAgAABAuLSHiBAgAABAgQIEKhNQFzWRmkhAgQIECBAgAABcWkPECBAgAABAgQI1CYgLmujtBABAgQIECBAgIC4tAcIECBAgAABAgRqExCXtVFaiAABAgQIECBAQFzaAwQIECBAgAABArUJiMvaKC1EgAABAgQIECAgLu0BAgQIECBAgACB2gTEZW2UFiJAgAABAgQIEBCX9gABAgQIECBAgEBtAuKyNkoLESBAgAABAgQIiEt7gAABAgQIECBAoDYBcVkbpYUIECBAgAABAgTEpT1AgAABAgQIECBQm4C4rI3SQgQIECBAgAABAuLSHiBAgAABAgQIEKhNQFzWRmkhAgQIECBAgAABcWkPECBAgAABAgQI1CYgLmujtBABAgQIECBAgIC4tAcIECBAgAABAgRqExCXtVFaiAABAgQIECBAQFzaAwQIECBAgAABArUJiMvaKC1EgAABAgQIECAgLu0BAgQIECBAgACB2gTEZW2UFiJAgAABAgQIEBCX9gABAgQIECBAgEBtAuKyNkoLESBAgAABAgQIiEt7gAABAgQIECBAoDYBcVkbpYUIECBAgAABAgTEpT1AgAABAgQIECBQm4C4rI3SQgQIECBAgAABAuLSHiBAgAABAgQIEKhNQFzWRmkhAgQIECBAgAABcWkPECBAgAABAgQI1CYgLmujtBABAgQIECBAgIC4tAcIECBAgAABAgRqExCXtVFaiAABAgQIECBAQFzaAwQIECBAgAABArUJiMvaKC1EgAABAgQIECAgLu0BAgQIECBAgACB2gTEZW2UFiJAgAABAgQIEBCX9gABAgQIECBAgEBtAuKyNkoLESBAgAABAgQIiEt7gAABAgQIECBAoDYBcVkbpYUIECBAgAABAgTEpT1AgAABAgQIECBQm4C4rI3SQgQIECBAgAABAuLSHiBAgAABAgQIEKhNQFzWRmkhAgQIECBAgAABcWkPECBAgAABAgQI1CYgLmujtBABAgQIECBAgIC4tAcIECBAgAABAgRqExCXtVFaiAABAgQIECBAQFzaAwQIECBAgAABArUJiMvaKC1EgAABAgQIECAgLu0BAgQIECBAgACB2gTEZW2UFiJAgAABAgQIEBCX9gABAgQIECBAgEBtAuKyNkoLESBAgAABAgQIiEt7gAABAgQIECBAoDYBcVkbpYUIECBAgAABAgTEpT1AgAABAgQIECBQm4C4rI3SQgQIECBAgAABAuLSHiBAgAABAgQIEKhNQFzWRmkhAgQIECBAgAABcWkPECBAgAABAgQI1CYg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AvWTn/xkvO1tbyvX8yDQSgLiMsG0il9silcyil9siseXv/zlGDRoUMycOTPB1SzZSIFDhw7F/fffHxdffHH069evvHQRmbfffnv85je/ie9973vxmc98pvzfn3vuuZg2bVps2LAhrr766lfdE+985zvLfVEc89J6s2fPjuKfs846q5FPzbWOQeCrX/1qHDlyJB544IH49Kc/XcZlRz//nc163759He6dAQMGHMOdOaURAsXP+y9+8Yvy1cq/fezfv7/Dn+vOZv2lL30phgwZEu9973vL5X7605+Wr2IWwelBoJUExGWCaU2aNKl8Jav4k2fx+M53vhOPPPJI+RapR3sJPPbYY3HTTTfFPffcE8XbWcVvKh/5yEeOPskiLm+99dYyOF5tTxTBsWrVqrjjjjuOnrNkyZIYM2aMj1JkvlV+//vfl69aF680F38YeCkuO/r572zWRXB0tHde97rXZS7Re2+v+ENl8Y5FsRf+8Ic/xOjRo8tXsp944okOf647m/XnP//58lXKCRMmlKi/+93vYsGCBfGNb3yj9yJ75i0pIC5rHlvxC03xlum3v/3t8vOWxeP73/9+/PjHPy5/I/JoH4Gnnnoqrr/++rj22mvjnHPOibvuuqv8jab4DOZLj/e///3lW1vFbzivtife/e53l+cVgfLSY/ny5TF8+PCYOnVq+2C14TMpftOfMWNGnH322XHFFVeUcTls2LAOf/47m/WBAwdede8sXry4fJvVI0+B4uNOjz76aBQ/s8Vnqz/72c+W//e8887r8Oe6s1l/4QtfiPe9730xfvz48gn/8Y9/LH89+da3vpUngLsi0IGAuEywNYpXLr72ta/F6aefXq7+zW9+M4pXuLxymQC7SUsWX+YpfuO/5ppryt9Iikcx8+Izlh/72MeO3tV73vOe8nNYxSuXr7Ynilcpire81q5de/ScYt1x48Z55bJJs+3OZYs/MP76178uP+pQPF6Ky+Jt8Y5+/jubdfGqZUd7xyuX3ZlIc44pXrns06dP+cp18di6dWv55Z7i85Yd/Vx3NuviXYxi/xSfsywexa8zxVvuXrlsznxd9dgFxOWx23V4ZvGFj+IbfsWXOopH8YvN4MGDy1c5PFpf4Mknn4xFixbFwoULY9SoUUefUPG5u+Kzk8WH8YtH8SWP4m8KKP5wUUToq+2JSy+9tNwXxeeqBg4cWJ43a9as8hvjf7t266u11zO48cYby5B46Vu8zzzzTLzmNa8p38IsvsjV01kXb5V2tHd85jLfvVP8bBeftS5+LSgexcefinchilcwO/q57mzWa9asiZNPPrn8clfx+MEPfhDf/e53yy+EehBoJQFxmWBaxefvirdKirfJihApXt0oAvP1r399gqtZstECxTyLKLzwwgtfdunnn3++jMnirfLiyzjFh/OL/6349872RPEbU/FZrenTp8emTZvKt9PWrVt39As+jX5+rtdzgb995fJYZl38VVUd7Z2e340zGiVQ/PVDxeyLt8WLV62LL/MVf53Yhz/84TI4X+3nurNZF39gKdYo/iq7E088sfy1o/i1pviolQeBVhIQlwmmVfz1JEVMFp+zPOGEE8q3RN/xjnckuJIlGy1QfM6y+Hb337+aVLx1VXwIv/irRIoP5RevWhaBWbzCWbwS0dmeKN4OXbp0aWzbtq38zF4RryNGjGj0U3O9CgJ/G5fHOuuO9k6F23JqAwR+9KMflV/IK/6KoeKz18XHYoq/HaSzn+vOZl28i1G8DV7so+JvpSj+ponirXcPAq0kIC5baVrulQABAgQIECCQuYC4zHxAbo8AAQIECBAg0EoC4rKVpuVeCRAgQIAAAQKZC4jLzAfk9ggQIECAAAECrSQgLltpWu6VAAECBAgQIJC5gLjMfEBujwABAgQIECDQSgLispWm5V4JECBAgAABApkLiMvMB+T2CBAgQIAAAQKtJCAuW2la7pUAAQIECBAgkLmAuMx8QG6PAAECBAgQINBKAuKylablXgkQIECAAAECmQuIy8wH5PYIECBAgAABAq0kIC5baVrulQABAgQIECCQuYC4zHxAbo8AAQIECBAg0EoC4rKVpuVeCRAgQIAAAQKZC4jLzAfk9ggQIECAAAECrSQgLltpWu6VAAECBAgQIJC5gLjMfEBujwABAgQIECDQSgLispWm5V4JECBAgAABApkLiMvMB+T2CBAgQIAAAQKtJCAuW2la7pUAAQIECBAgkLmAuMx8QG6PAAECBAgQINBKAuKylablXgkQIECAAAECmQuIy8wH5PYIECBAgAABAq0kIC5baVrulQABAgQIECCQuYC4zHxAbo8AAQIECBAg0EoC4rKVpuVeCRAgQIAAAQKZC4jLzAfk9ggQIECAAAECrSQgLltpWu6VAAECBAgQIJC5gLjMfEBujwABAgQIECDQSgLispWm5V4JECBAgAABApkLiMvMB+T2CBAgQIAAAQKtJCAuW2la7pUAAQIECBAgkLmAuMx8QG6PAAECBAgQINBKAuKylablXgkQIECAAAECmQuIy8wH5PYIECBAgAABAq0kIC5baVrulQABAgQIECCQuYC4zHxAbo8AAQIECBAg0EoC4rKVpuVeCRAgQIAAAQKZC4jLzAfk9ggQIECAAAECrSQgLltpWu6VAAECBAgQIJC5gLjMfEBujwABAgQIECDQSgLispWm5V4JECBAgAABApkLiMvMB+T2CBAgQIAAAQKtJCAuW2la7pUAAQIECBAgkLmAuMx8QG6PAAECBAgQINBKAuKylablXgkQIECAAAECmQuIy8wH5PYIECBAgAABAq0kIC5baVrulQABAgQIECCQuYC4zHxAbo8AAQIECBAg0EoC4rKVpuVeCRAgQIAAAQKZC4jLzAfk9ggQIECAAAECrSQgLltpWu6VAAECBAgQIJC5gLjMfEBujwABAgQIECDQSgLispWm5V4JECBAgAABApkLiMvMB+T2CBAgQIAAAQKtJCAuW2la7pUAAQIECBAgkLmAuMx8QG6PAAECBAgQINBKAuKylablXgkQIECAAAECmQuIy8wH5PYIECBAgAABAq0kIC5baVrulQABAgQIECCQuYC4zHxAbo8AAQIECBAg0EoC4rKVpuVeCRAgQIAAAQKZC4jLzAfk9ggQIECAAAECrSQgLltpWu6VAAECBAgQIJC5gLjMfEBujwABAgQIECDQSgLispWm5V4JECBAgAABApkL/D9u1lQF6q62mAAAAABJRU5ErkJggg==" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import plotly.offline as py\n", "import plotly.graph_objs as go\n", "\n", "tmp = res_reg.sort_values(by=\"Energy / Capita (offset)\", ascending=False)\n", "\n", "# energy / capita offset scaled in units of world energy / capita average\n", "y = list(tmp[\"Energy / Capita (offset)\"] / world_energy_per_capita)\n", "\n", "# net energy change should be 0 theoretically\n", "assert (tmp[\"Energy / Capita (offset)\"]*tmp[\"Population\"]).sum() < 0.0000001\n", "\n", "# should be \"Population\"\n", "width = list(tmp[\"Population\"])\n", "\n", "# position bars next to each other\n", "x = [sum(width[:i]) for i in range(len(width))]\n", "\n", "trace0 = go.Bar(\n", " x=x,\n", " y=y,\n", " offset=0,\n", " width=width\n", ")\n", "\n", "data = [trace0]\n", "\n", "fig = go.Figure(data=data)\n", "py.iplot(fig, filename='width-bar')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 4 }