{"cells":[{"metadata":{},"cell_type":"markdown","source":"# Analysing Global Power Plant Database (Puerto Rico)"},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"## Importing necessary libraries\nimport numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\n%matplotlib inline\nimport seaborn as sns\nplt.style.use(\"seaborn-pastel\")\n\n# Plotting geographical data\nimport folium\nimport os\nimport warnings\nwarnings.filterwarnings('ignore')","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"# Total power plants in Puerto Rico\ndf_power_plants = pd.read_csv('../input/ds4g-environmental-insights-explorer/eie_data/gppd/gppd_120_pr.csv')\ndf_power_plants.head().T","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"lat_lng = df_power_plants[\".geo\"].apply(lambda x: pd.read_json(x)[\"coordinates\"])\ndf_power_plants = df_power_plants.assign(lat=lat_lng[1],lng=lat_lng[0])","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Remove irrelevants columns\n\n\nAll columns with a single unique value are removed"},{"metadata":{"trusted":true},"cell_type":"code","source":"remove_col = []\nfor colname,col_serie in df_power_plants.iteritems():\n    if len(col_serie.unique())== 1:\n        remove_col.append(colname)\n        \ndf_power_plants.drop(columns=remove_col,inplace=True)\nprint(\"Removed columns: {}\\n\".format(\", \".join(remove_col)))\nprint(\"Final columns: {}\".format(\", \".join(df_power_plants.columns)))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Columns\n\n### system:index\nUnique plant-level ID\n\n\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"df_power_plants.shape[0] == df_power_plants[\"system:index\"].unique().shape[0]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_power_plants[\"system:index\"].unique().shape[0] == df_power_plants[\"system:index\"].apply(lambda x: x[-3:]).unique().shape[0]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"df_power_plants[\"name_id\"] = df_power_plants[\"name\"] + \"_\" + df_power_plants[\"system:index\"].apply(lambda x: x[-3:])","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"\n### capacity_mw\n\nElectrical generating capacity in megawatts. Is the maximum electric output an electricity generator can produce under specific conditions. Nameplate generator capacity is determined by the generator's manufacturer and indicates the maximum output of electricity a generator can produce without exceeding design limits."},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize=(8,7))\nplt.title(\"Electrical generating capacity (MW) by plants\")\ndf_power_plants.groupby([\"name_id\"]).mean()[\"capacity_mw\"].sort_values().plot(kind=\"barh\")\nplt.tight_layout()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## estimated_generation_gwh\n\nEstimated annual electricity generation in gigawatt-hours"},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize=(15,8))\nax = plt.subplot(1,2,1)\nplt.title(\"Estimated annual electricity generation in gigawatt-hours\")\ndf_power_plants.groupby([\"name_id\"]).mean()[\"estimated_generation_gwh\"].sort_values().plot(kind=\"barh\",ax=ax)\n\nax = plt.subplot(1,2,2)\nplt.title(\"Electrical generating capacity (MW) by plants\")\ndf_power_plants.groupby([\"name_id\"]).mean()[\"capacity_mw\"].sort_values().plot(kind=\"barh\",ax=ax)\nplt.tight_layout()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Primary_fuel\n\nEnergy source used in primary electricity generation or export"},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize=(15,5))\nax = plt.subplot(1,2,1)\ndf_power_plants.groupby([\"primary_fuel\"])[[\"capacity_mw\"]].sum().sort_values(by=\"capacity_mw\").plot(kind=\"barh\",ax=ax);\nplt.title(\"Electrical generating capacity (MW sum) by primary_fuel\");\n\nax = plt.subplot(1,2,2)\ndf_power_plants.groupby([\"primary_fuel\"])[[\"name_id\"]].count().sort_values(by=\"name_id\", ascending=False).plot(kind=\"bar\",ax=ax);\nplt.title(\"Power Plants based on primary Fuel\");","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### gppd_idnr\n10- or 12-character identifier for the power plant"},{"metadata":{"trusted":true},"cell_type":"code","source":"df_power_plants.shape[0] == df_power_plants[\"gppd_idnr\"].unique().shape[0]","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Commissioning_year\n\nYear of plant operation, weighted by unit-capacity when data is available"},{"metadata":{"trusted":true},"cell_type":"code","source":"df_power_plants[[\"commissioning_year\",\"capacity_mw\"]].sort_values(by=\"commissioning_year\").plot(kind=\"scatter\",x=\"commissioning_year\",y=\"capacity_mw\",s=32)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Owner\n\t\nMajority shareholder of the power plant, generally in Romanized form"},{"metadata":{"trusted":true},"cell_type":"code","source":"print(df_power_plants[\"owner\"].unique())\ndf_power_plants.groupby(\"owner\").count()[\"name_id\"].sort_values()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize=(8,8))\ndf_power_plants.groupby(\"owner\").sum()[\"estimated_generation_gwh\"].sort_values(ascending=False).plot(kind=\"bar\")\nplt.tight_layout()\n\nprint(\"Estimated generation sum (GWH) by owner\")\nprint(df_power_plants.groupby(\"owner\").sum()[\"estimated_generation_gwh\"]/df_power_plants[\"estimated_generation_gwh\"].sum())\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Geographical analysis"},{"metadata":{"trusted":true},"cell_type":"code","source":"def addpoint(lat,lng,data,scale=10,var_circle=\"capacity_mw\"):\n    folium.Marker(\n    location=[lat, lng],\n    popup=pd.DataFrame(data).to_html(),\n    icon=folium.Icon(icon='bolt',color='black',icon_color=\"yellow\",prefix=\"fa\")\n    ).add_to(m)\n    \n    folium.CircleMarker(\n    location=[lat, lng],\n    radius=data[var_circle]/scale,\n    color='red',\n    fill=True,\n    fill_color='red'\n    ).add_to(m)\n    \n    \nm = folium.Map(tiles=\"cartodbpositron\",\n    location=[18.245497, -66.524216],\n            zoom_start=9)\n\ndf_power_plants.apply(lambda x: addpoint(x.lat,x.lng,x),axis=1 )\nprint(\"Capacity_mw\")\n\nm","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":" m = folium.Map(tiles=\"cartodbpositron\",\n    location=[18.245497, -66.524216],\n            zoom_start=9)\n\ndf_power_plants.apply(lambda x: addpoint(x.lat,x.lng,x,1000,\"estimated_generation_gwh\"),axis=1 )\nprint(\"estimated_generation_gwh\")\n\nm","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}