From 241610899a7be375216f0655c108cc9f0fc11264 Mon Sep 17 00:00:00 2001 From: benjas <909336740@qq.com> Date: Tue, 22 Dec 2020 20:57:46 +0800 Subject: [PATCH] =?UTF-8?q?Add=20=E5=A4=84=E7=90=86=E7=A6=BB=E7=BE=A4?= =?UTF-8?q?=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...筑能源利用率预测-checkpoint.ipynb | 396 +++++++++++++++++- .../建筑能源利用率预测.ipynb | 295 +++++++++++++ 2 files changed, 690 insertions(+), 1 deletion(-) diff --git a/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/.ipynb_checkpoints/建筑能源利用率预测-checkpoint.ipynb b/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/.ipynb_checkpoints/建筑能源利用率预测-checkpoint.ipynb index 8e72fbf..e742c9a 100644 --- a/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/.ipynb_checkpoints/建筑能源利用率预测-checkpoint.ipynb +++ b/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/.ipynb_checkpoints/建筑能源利用率预测-checkpoint.ipynb @@ -1977,10 +1977,404 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "发现得分1和100的个数比较高,由PDF可以看出,这些是由每个建筑的个人提交各个利用率的分值,过高和过低都有问题。\n", + "发现得分1和100的个数比较高,由PDF可以看出,这些是由每个建筑的个人提交各个利用率的分值,过高和过低都有问题,而分值是标签,我们不能人为的改变标签。\n", + "\n", "能源使用强度(EUI),它是总能源使用量除以建筑物的面积(平方英尺)。这个能源使用量不是自我报告的,因此更客观地衡量建筑物的能源效率。" ] }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlYAAAIgCAYAAABH3ifDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzde1xVVf7/8TcXRUA0EQVFRVGHzMq7I6KJTs3oVBOljqU56YCiQ5NjDmqTJqX2DXJsJqcEJcVxfik2pZKp2c0LpshoQmkJeKE0BUGQOwac3x8+zskjF7E2eYjX8/HowbT256yzzl7fx7f3Y++117bLz883CQAAAD+a/a0eAAAAwM8FwQoAAMAgBCsAAACDEKwAAAAMQrACAAAwCMEKAADAIAQroIlJTEzUX//6V40ePVpDhw7V6NGj9dRTT2nHjh0ymax3Xzl8+LAGDx6sl19+2ar9+PHjOnDggOFje+ihhzR48OAb/rN8+XLLZ7Zt26bBgwdr1apV9er7WqtWrdLgwYO1bdu2G45txowZ1cYxZMgQBQYGasKECfrHP/6hnJycap+r7RzW182c65q+6/nnn9fgwYN1/PjxH/T9dSkvL9f69eut2szn9KOPPjL8+4DGwPFWDwDAT+eVV17Rhg0b1L59ew0bNkxt2rRRbm6uDh48qEWLFumDDz5QVFSUHB2v/r+GDh06KCQkRL1797b0YQ5mTz75pPz9/RtknCEhIXUev+uuuxrke+vj0UcfVcuWLSVJlZWVKioq0hdffKE333xT27Zt04oVK9SrVy9LfU3nsL5u9lz/mO/6IWbMmKFTp05p8uTJlrYBAwZIkrp16/aTjAGwNQQroIn47LPPtGHDBgUEBCgqKkrNmjWzHCsrK1N4eLgSExP19ttva8KECZKkjh07avr06Vb95Ofnq6qqqkHHev132pJHH31UHTt2rNb+9ttvKzIyUnPmzNGmTZss4aumc1hfN3uuf8x3/RCXLl2q1jZgwABLuAKaIm4FAk3Evn37JF0NBteGKklq0aKF5syZI0n6+OOPf/Kx/RyMHTtWDz/8sHJychQfH3+rhwPgFiFYAU3Ed999J0k6depUjce7du2q//u//1NYWJil7fo1O88//7xeeOEFSdKrr76qwYMH6/Dhw5b6tLQ0zZ07V/fee6+GDRumiRMnauPGjQ1+hctWmG+J7dq1y9JW07qniooKrV69WhMnTtQ999yjX/3qV/rTn/5kCb9S7ef622+/1eDBg/X6669r+fLlGjFihO69915t27atzvVcRUVFWrJkie69914FBgbqz3/+sz7//HOrmrrWR02aNMmyRs08hvPnz6u0tFSDBw/WjBkz6uzj+PHjCg8P17333quAgACNGzdOq1atUmlpqVWdeU1Yfn6+Xn75Zf32t7/VsGHDNGnSJG3fvv3GkwDcYtwKBJqIwYMHKz4+XitWrNDZs2f1m9/8Rr1795aDg4Ol5le/+lWdfYwYMUKFhYXau3evfvnLX+quu+5Shw4dJEkHDx5UeHi47O3tFRgYKA8PDyUnJ2v58uVKTU3Viy++2KC/zxZ06tRJHh4eOn36tPLz83XbbbfVWPfyyy9r8+bN6tevn8aPH6+SkhJ98MEHmjNnjqKiohQYGFjnuZakhIQESdLDDz+ss2fP6q677qpx8bzZokWLZG9vr9/+9rfKy8vTxx9/rBkzZmjFihXq37//Tf1ONzc3hYSEaOPGjSorK9OUKVNqvD1qtnv3bj3zzDOyt7fXiBEj5OHhoSNHjig2NlaJiYmKjo6Wi4uL1Weeeuop5eXlaeTIkfruu++0c+dORUREyNXVVSNGjLip8QI/JYIV0EQMHz5c48eP11tvvWX5x9XVVX369NGgQYM0cuTIOv/jKEmBgYEqKiqy/Mf+8ccfl3R1jVZERIRatGihuLg4eXt7S5JMJpMWL16sbdu26Z577tHo0aPrNdYbPeFny2uw2rdvr5ycHOXk5NQYrIqKirR161b169dPMTExlvbx48frscce01tvvaXAwMBaz/W3334r6er6pvXr18vPz8/SR13Bqnnz5lq3bp1lTA8//LDCwsL00ksvadOmTTf1G93c3DR9+nS99957qqysrHM+zFfKWrRooddff92ysL+qqkqRkZHavHmzoqOj9fTTT1f7bHx8vCVwjRgxQrNnz9bmzZsJVrBpBCugCQkPD9fQoUP11ltvKTk5WcXFxfr000/16aefasWKFXrooYf09NNPy8nJ6ab63bdvny5duqSwsDBLqJIkOzs7/elPf9K2bdv07rvv1jtYxcbG1nncloOVef1acXFxrTUmk0kXLlzQhQsX5OXlJUny9fXVO++8o/bt29fre7y9va1C1Y388Y9/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DdX69etlb2+vgIAA2dnZ6c0331RwcLCKiooa4icDAIBGoNFdsXr//ff1wQcf1HjMZDIpIiJCxcXFev755zVmzBhJUl5ensLCwrRz504FBgZq1KhRls9ERUUpOztboaGhCg4OliSVlpYqPDxchw4dUnx8vCZNmmSpj46OVkZGhoKCgjR//nzZ29uroqJCixcv1o4dO7Ry5UqFh4c34BkAAAC2qlFdsbp48aJefvll3X333XJwcKh2PCkpSRkZGRowYIAlVElSmzZtNG/ePElSfHy8pT0zM1OJiYnq1KmTpk6daml3dnbWggUL5ODgoE2bNlnaCwsLtXXrVrm6umrWrFmW24qOjo6aN2+eWrVqpYSEBJWWlhr+2wEAgO1rVMFqyZIlunLlihYtWlTj8QMHDkiSRowYUe1Ynz595O7urpSUFBUXF0uSDh48KJPJpGHDhlVbe+Xl5SU/Pz+dP39ep06dkiR99tlnKi8v18CBA+Xq6mpV7+LiokGDBqm8vFxHjhz50b8VAAA0Po0mWP33v//VgQMH9OSTT6pz58411pgDkK+vb43Hu3TpoqqqKp0+fdqqvnv37jXW+/j4SJJOnjxZr/quXbtKkjIyMm70cwAAwM9QowhWZ8+e1YoVKzRw4ECNHz++1rrc3FxJkoeHR43Hze2XLl2SJMsCeKPq27Zta1UPAACaFpsPVpWVlYqIiJC9vb2ee+452dnZ1VprXtvUokWLGo87OTlJkkpKShqk3tzOGisAAJomm38qcP369UpNTdWzzz4rLy+vOmvN66RqC18mk+mm6q//XE17YNVUd/33XCs9Pb3OPmxNaUlpoxuzreI82j7myPYxR7atqcxPz549az1m08EqLS1Nq1evVkBAgB566KEb1js7O0uSysvLazx+5coVSd9fWbpRvbndXHez9TWpazJskbOLc6Mbsy1KT0/nPNo45sj2MUe2jfm5yqaD1cqVK/Xdd9+poqJCzz33nNWxqqoqSbK0P/3002rXrp3S0tKUm5trWUh+revXSLVr107S92uzfmy9ud281goAADQtNh2szGuVkpKSaq3ZuXOnJGnGjBny9fXV/v37dfr0aQ0YMMCqzmQyKTMzUw4ODurWrZuk758eND/td70zZ85I+v4pQPNf81OF1zO39+jR44a/DQAA/PzYdLCKjo6u9Zi/v78qKyut3hXo7++v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IiJiIUqsRERERCxEiZWIiIiIhSixEhEREbEQJVYiIiIiFqLESkRERMRClFiJiIiIWIgSKxERERELUWIlIiIiYiFKrEREREQsRImViIiIiIUosRIRERGxECVWIiIiIhaixEpERETEQpRYiYiIiFiIEisRERERC1FiJSIiImIhSqxERERELESJlYiIiIiFKLESERERsRAlViIiIiIWosRKRERExEKUWImIiIhYiBIrEREREQtRYiUiIiJiIUqsRERERCxEiZWIiIiIhSixEhEREbEQJVYiIiIiFqLESkRERMRClFiJiIiIWIgSKxERERELUWIlIiIiYiFKrEREREQsRImViIiIiIUosRIRERGxECVWIiIiIhaixEpERETEQpRYiYiIiFiIEisRERERC1FiJSIiImIhSqxERERELESJlYiIiIiFKLESERERsRAlViIiIiIWosRKRERExEKUWImIiIhYiBIrEREREQtRYiUiIiJiIc0augJNWXx8PB9//DEnT56ksrKSTp06MWHCBIKDgxu6aiIiItIANGJ1m7Zt28a0adM4evQoXbp0oWvXriQlJTFjxgy2bNnS0NUTERGRBqARq9uQk5PDO++8g5OTEytXrqR9+/YApKamMnXqVN577z169+5Nq1atGrimIiIiUp80YnUbNm7cSHl5OWPHjjUlVQCdO3dm/PjxlJWVER0d3YA1FBERkYagxOo2HDx4EIC//OUvNcr69esHQGxsbH1WSURERBoBJVa3yGAwcObMGaytrfH19a1R3q5dO6ytrTl9+jQGg6EBaigiIiINxaqgoECf/regsLCQgQMH4uLiwrfffltrTGhoKHl5eXz33Xc4OTnVcw1FRESkoWjE6haVlpYCcPfdd18zxs7ODoDLly/XS51ERESkcVBidYusrKxuGGO8BKhLgSIiIv9blFjdIgcHBwDKysquGVNeXg6Avb19vdRJREREGgclVrfI0dERBwcHCgsLqaysrFFeWVlJQUEBdnZ2NG/evAFqKCIiIg1FC4TeIisrK3x9fTl27Bg///wzfn5+ZuUZGRlUV1ebrW9VV7Slzo1VVVXx+eef89VXX5Genk51dTVeXl489NBDPPnkk6b5cEapqalERUWRmprK5cuX8fPzY8yYMYSGhtZ6/oyMDFauXMmRI0coLCykbdu2hIWFMWrUKKyta35vuXDh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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Histogram Plot of Site EUI\n", + "\n", + "figsize(8, 8)\n", + "plt.hist(data['Site EUI (kBtu/ft²)'].dropna(), bins = 20, edgecolor = 'black');\n", + "plt.xlabel('Site EUI'); \n", + "plt.ylabel('Count'); \n", + "plt.title('Site EUI Distribution');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看出所有值都是偏小的,说明有一个或极少个非常大的极值。" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 11583.000000\n", + "mean 280.071484\n", + "std 8607.178877\n", + "min 0.000000\n", + "25% 61.800000\n", + "50% 78.500000\n", + "75% 97.600000\n", + "max 869265.000000\n", + "Name: Site EUI (kBtu/ft²), dtype: float64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['Site EUI (kBtu/ft²)'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3173 51328.8\n", + "3170 51831.2\n", + "3383 78360.1\n", + "8269 84969.6\n", + "3263 95560.2\n", + "8268 103562.7\n", + "8174 112173.6\n", + "3898 126307.4\n", + "7 143974.4\n", + "8068 869265.0\n", + "Name: Site EUI (kBtu/ft²), dtype: float64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data['Site EUI (kBtu/ft²)'].dropna().sort_values().tail(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "其中一栋建筑的得分远远高于其他建筑。" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "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", + " \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", + "
OrderProperty IdProperty NameParent Property IdParent Property NameBBL - 10 digitsNYC Borough, Block and Lot (BBL) self-reportedNYC Building Identification Number (BIN)Address 1 (self-reported)Postal CodeStreet NumberStreet NameBoroughDOF Gross Floor AreaPrimary Property Type - Self SelectedList of All Property Use Types at PropertyLargest Property Use TypeLargest Property Use Type - Gross Floor Area (ft²)Year BuiltNumber of Buildings - Self-reportedOccupancyMetered Areas (Energy)Metered Areas (Water)scoreSite EUI (kBtu/ft²)Weather Normalized Site EUI (kBtu/ft²)Weather Normalized Site Electricity Intensity (kWh/ft²)Weather Normalized Site Natural Gas Intensity (therms/ft²)Weather Normalized Source EUI (kBtu/ft²)Natural Gas Use (kBtu)Weather Normalized Site Natural Gas Use (therms)Electricity Use - Grid Purchase (kBtu)Weather Normalized Site Electricity (kWh)Total GHG Emissions (Metric Tons CO2e)Direct GHG Emissions (Metric Tons CO2e)Indirect GHG Emissions (Metric Tons CO2e)Property GFA - Self-Reported (ft²)Water Use (All Water Sources) (kgal)Water Intensity (All Water Sources) (gal/ft²)Source EUI (kBtu/ft²)Release DateWater Required?DOF Benchmarking Submission StatusLatitudeLongitudeCommunity BoardCouncil DistrictCensus TractNTA
806899844414323234 SkillmanNot Applicable: Standalone PropertyNot Applicable: Standalone Property302893750230289375023390250 , 3338313234 Skillman avenue11211234SKILLMAN AVENUEBrooklyn61811.0Multifamily HousingMultifamily HousingMultifamily Housing56900.02004190Whole BuildingNaN1.0869265.0939329.09.99393.0986366.04.945919e+10534458968.81983655.6563239.62627199.12627015.0184.156900.02547.944.78912801.105/01/2017 11:34:14 PMNaNIn Compliance40.716233-73.941411.034.0477.0East Williamsburg ...
\n", + "
" + ], + "text/plain": [ + " Order Property Id Property Name Parent Property Id \\\n", + "8068 9984 4414323 234 Skillman Not Applicable: Standalone Property \n", + "\n", + " Parent Property Name BBL - 10 digits \\\n", + "8068 Not Applicable: Standalone Property 3028937502 \n", + "\n", + " NYC Borough, Block and Lot (BBL) self-reported \\\n", + "8068 3028937502 \n", + "\n", + " NYC Building Identification Number (BIN) Address 1 (self-reported) \\\n", + "8068 3390250 , 3338313 234 Skillman avenue \n", + "\n", + " Postal Code Street Number Street Name Borough \\\n", + "8068 11211 234 SKILLMAN AVENUE Brooklyn \n", + "\n", + " DOF Gross Floor Area Primary Property Type - Self Selected \\\n", + "8068 61811.0 Multifamily Housing \n", + "\n", + " List of All Property Use Types at Property Largest Property Use Type \\\n", + "8068 Multifamily Housing Multifamily Housing \n", + "\n", + " Largest Property Use Type - Gross Floor Area (ft²) Year Built \\\n", + "8068 56900.0 2004 \n", + "\n", + " Number of Buildings - Self-reported Occupancy Metered Areas (Energy) \\\n", + "8068 1 90 Whole Building \n", + "\n", + " Metered Areas (Water) score Site EUI (kBtu/ft²) \\\n", + "8068 NaN 1.0 869265.0 \n", + "\n", + " Weather Normalized Site EUI (kBtu/ft²) \\\n", + "8068 939329.0 \n", + "\n", + " Weather Normalized Site Electricity Intensity (kWh/ft²) \\\n", + "8068 9.9 \n", + "\n", + " Weather Normalized Site Natural Gas Intensity (therms/ft²) \\\n", + "8068 9393.0 \n", + "\n", + " Weather Normalized Source EUI (kBtu/ft²) Natural Gas Use (kBtu) \\\n", + "8068 986366.0 4.945919e+10 \n", + "\n", + " Weather Normalized Site Natural Gas Use (therms) \\\n", + "8068 534458968.8 \n", + "\n", + " Electricity Use - Grid Purchase (kBtu) \\\n", + "8068 1983655.6 \n", + "\n", + " Weather Normalized Site Electricity (kWh) \\\n", + "8068 563239.6 \n", + "\n", + " Total GHG Emissions (Metric Tons CO2e) \\\n", + "8068 2627199.1 \n", + "\n", + " Direct GHG Emissions (Metric Tons CO2e) \\\n", + "8068 2627015.0 \n", + "\n", + " Indirect GHG Emissions (Metric Tons CO2e) \\\n", + "8068 184.1 \n", + "\n", + " Property GFA - Self-Reported (ft²) \\\n", + "8068 56900.0 \n", + "\n", + " Water Use (All Water Sources) (kgal) \\\n", + "8068 2547.9 \n", + "\n", + " Water Intensity (All Water Sources) (gal/ft²) Source EUI (kBtu/ft²) \\\n", + "8068 44.78 912801.1 \n", + "\n", + " Release Date Water Required? \\\n", + "8068 05/01/2017 11:34:14 PM NaN \n", + "\n", + " DOF Benchmarking Submission Status Latitude Longitude \\\n", + "8068 In Compliance 40.716233 -73.94141 \n", + "\n", + " Community Board Council District Census Tract \\\n", + "8068 1.0 34.0 477.0 \n", + "\n", + " NTA \n", + "8068 East Williamsburg ... " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.loc[data['Site EUI (kBtu/ft²)'] == 869265, :]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "离群点的可能性:\n", + "\n", + "* 输入错误\n", + "* 测量设备故障\n", + "* 不正确的单位\n", + "* 或者可能是真实的。\n", + "\n", + "离群点,我们一般抛弃。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 剔除离群点\n", + "\n", + "处理离群点时,不能主观的判断,导致丢失数据,如何去除[离群点](https://people.richland.edu/james/lecture/m170/ch03-pos.html),处理时尽可能保守:\n", + "\n", + "* 在低端,值低于 $\\text{First Quartile} -3 * \\text{Interquartile Range}$\n", + "* 在高端,值高于 $\\text{Third Quartile} + 3 * \\text{Interquartile Range}$" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# Calculate first and third quartile\n", + "first_quartile = data['Site EUI (kBtu/ft²)'].describe()['25%']\n", + "third_quartile = data['Site EUI (kBtu/ft²)'].describe()['75%']\n", + "\n", + "# Interquartile range\n", + "iqr = third_quartile -first_quartile\n", + "\n", + "# Remove outliers\n", + "data = data [(data['Site EUI (kBtu/ft²)']>(first_quartile - 3*iqr)) & (data['Site EUI (kBtu/ft²)']<(third_quartile + 3*iqr))]" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkoAAAIgCAYAAAB6TEalAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeVxVdf7H8TeLsrkigoorariGaZJrQmP9tKZRS1NxzEwNzXaHtCmXsJpcsiZnFJTUpkmzzSUSs8Ul1NBQITNZXGhcAgEXZDPw/v7wcW9duQfRuMLV1/Px6EF8v9/7ud9zjsD7cc73nOt05swZkwAAAFCGc1VPAAAAoLoiKAEAABggKAEAABggKAEAABggKAEAABggKAEAABggKAEOLj4+Xn/72980YMAA9erVSwMGDNBTTz2luLg4mUzWT/9ITExUcHCw5s2bZ9V+4MAB7dy5s9LnNmjQIAUHB1/xvwULFlheExsbq+DgYC1ZsqRCtX9vyZIlCg4OVmxs7BXnNnHixDLz6NGjh0JCQjR8+HC99dZbys7OLvM6o31YUVezr22918svv6zg4GAdOHDgmt6/PMXFxXrvvfes2sz79Ouvv6709wMcgWtVTwDAtXvzzTe1atUq+fr6qk+fPqpfv75ycnL03XffaebMmfryyy81d+5cubpe+lFv3Lixxo8fr44dO1pqmIPWE088oZ49e9plnuPHjy+3v3PnznZ534oYMWKEatWqJUkqLS3V+fPntX//fq1cuVKxsbFauHCh2rdvbxlvax9W1NXu6z/yXtdi4sSJOnz4sEaPHm1p69atmySpVatW12UOQHVDUAIc1N69e7Vq1Sr17t1bc+fOVY0aNSx9RUVFioiIUHx8vD755BMNHz5cktSkSRM99thjVnXOnDmjixcv2nWul79ndTJixAg1adKkTPsnn3yiOXPmaMqUKfrwww8tYcrWPqyoq93Xf+S9rkVubm6Ztm7dulnCEnAz4tIb4KC+/fZbSZf+0P8+JEmSu7u7pkyZIkn65ptvrvvcbgQPPvighgwZouzsbK1evbqqpwOgihCUAAf166+/SpIOHz5ss79ly5b6xz/+ocmTJ1vaLl/z8vLLLysyMlKS9Pbbbys4OFiJiYmW8ampqXr++efVv39/9enTR2FhYfrggw/sfgaqujBfgtq0aZOlzda6oZKSEi1dulRhYWG688479ac//UmPP/64JcxKxvv6xIkTCg4O1qJFi7RgwQL169dP/fv3V2xsbLnroc6fP69XXnlF/fv3V0hIiJ588kn98MMPVmPKW180atQoyxov8xxOnjypwsJCBQcHa+LEieXWOHDggCIiItS/f3/17t1bQ4cO1ZIlS1RYWGg1zrym6syZM5o3b57uvfde9enTR6NGjdKGDRuufBCAKsalN8BBBQcHa/Xq1Vq4cKGOHTum//u//1PHjh3l4uJiGfOnP/2p3Br9+vVTXl6etm3bpjvuuEOdO3dW48aNJUnfffedIiIi5OzsrJCQEPn4+Gj37t1asGCBkpOT9dprr9l1+6qDpk2bysfHR0eOHNGZM2dUr149m+PmzZunNWvW6LbbbtOwYcNUUFCgL7/8UlOmTNHcuXMVEhJS7r6WpPXr10uShgwZomPHjqlz5842F5ObzZw5U87Ozrr33nt1+vRpffPNN5o4caIWLlyorl27XtV21q5dW+PHj9cHH3ygoqIiPfLIIzYvR5pt2bJFL7zwgpydndWvXz/5+Phoz549iomJUXx8vKKiouTp6Wn1mqeeekqnT59WaGiofv31V23cuFGzZs2Sl5eX+vXrd1XzBa4nghLgoPr27athw4bpo48+svzn5eWloKAgde/eXaGhoeX+sZOkkJAQnT9/3vLH+69//aukS2ucZs2aJXd3d61YsUL+/v6SJJPJpNmzZys2NlZ33nmnBgwYUKG5XukOtuq8hsnX11fZ2dnKzs62GZTOnz+vdevW6bbbblN0dLSlfdiwYRo5cqQ++ugjhYSEGO7rEydOSLq0Pui9995TYGCgpUZ5QalmzZp69913LXMaMmSIJk+erNdff10ffvjhVW1j7dq19dhjj+nzzz9XaWlpucfDfCbL3d1dixYtsix0v3jxoubMmaM1a9YoKipKzz33XJnXrl692hKg+vXrp2effVZr1qwhKKFaIygBDiwiIkK9evXSRx99pN27dys/P187duzQjh07tHDhQg0aNEjPPfec3Nzcrqrut99+q9zcXE2ePNkSkiTJyclJjz/+uGJjY/XZZ59VOCjFxMSU21+dg5J5/Vd+fr7hGJPJpF9++UW//PKLGjVqJEkKCAjQp59+Kl9f3wq9j7+/v1VIupJHH33UKrh17dpVoaGh+uqrr3Tg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k99jMplYu3atvbsnIiIit7lWP0ZJRERExFkUlEREREQMKCiJiIiIGFBQEhERETGgoCQiIiJiQEFJRERExICCkoiIiIiBVj2PkoiItC55Z3IIj1vpkG2HdvXh1eeWOmTbIt+WgpKIiDTZNbeOHBky1zEbz9jimO2KfAe69SYiIiJiQEFJRERExIBuvYmISKvwXcY/Xau4hpe3l2G7xj/Jt6WgJCIirYLGP0lrpFtvIiIiIgYUlEREREQMKCiJiIiIGFBQEhERETGgoCQiIiJiQEFJRERExICCkoiIiIgBBSURERERAwpKIiIiIgYUlEREREQMKCiJiIiIGFBQEhERETGgoCQiIiJiwN3ZOyAiIuJoeWdyCI9b6ZBth3b14dXnljpk2+J8CkoiInLbu+bWkSND5jpm4xlbHLNdaRV0601ERETEgIKSiIiIiAEFJREREREDCkoiIiIiBhSURERERAzoqTcREZHvwFFTDxTm53FXcO9m3y5oSgN7KCiJiIh8B46aeuCOvN/wH01p4HS69SYiIiJiQEFJRERExICCkoiIiIgBBSURERERAxrMLSIi0s5okeCmU1ASERFpZxy5SHDeW0vsCmHXKq7h5e3VpL7OCGEKSiIiItJsHBnCnDGtgYLS1xw7dow33niDvLw8bty4Qb9+/YiJiWHEiBHO3jURERFxAg3m/n/79+9n4cKFnDx5koEDBzJo0CAyMzOJi4tj7969zt49ERERcQJdUQKKiopYu3YtnTp1YsuWLYSGhgKQnZ1NbGwsL730Ej/84Q+56667nLynIiIi0pJ0RQnYtWsX1dXVTJs2zRaSAAYMGEB0dDRVVVUkJyc7cQ9FRETEGRSUgJSUFAB+/OMf12kbM2YMAEePHm3JXRIREZFWoN0HJYvFwvnz53F1dSUkJKROe8+ePXF1deXcuXNYLBYn7KGIiIg4i4vZbG7X//uXlpby05/+FD8/P9577716+0yYMIGSkhIOHjxIp06dWngPRURExFna/RWlyspKADp27GjYx9PTE4Br1661yD6JiIhI69Dug5KLi0ujfay33HTrTUREpH1p90HJ29sbgKqqKsM+1dXVAHh5NW2KdREREbk9tPug5OPjg7e3N6Wlpdy4caNO+40bNzCbzXh6etK5c2cn7KGIiIg4S7ufcNLFxYWQkBBOnz7NZ599hslkqtWen5/PzZs3a82v5ChaQqV1e+edd1i5cqVh+6xZs1iwYIHtz9nZ2SQlJZGdnc21a9cwmUxMnTqVCRMmtMDeCtyacT8+Pp7ExESGDBlSpz0/P58tW7aQkZFBaWkpPXr0ICoqiilTpuDqWvfnyCtXrpCUlERqairFxcUEBgYyceJEoqOj6dChQ0t8pXajodoVFBTw0EMPGb43LCyMLVtqrwmm2jlWTU0Nf/nLX3j77be5cOECN2/epFu3bvzsZz/j0UcftY31tbL3/Gjvsdqc2n1QAhgxYgSnT5/m0KFDdYLSoUOHABg5cqRD98F6UujQoQPDhw+npqaG9PR04uLiePrpp5k0aZJDP18ad+bMGQC+//3v4+fnV6e9T58+tt+npqby61//GovFwn333UfHjh05fvw4zz33HOfOneOxxx5rsf1ur7Kysli/fr1he25uLvPmzaO8vJywsDAGDBhAeno669ev59SpU8THx9fqX1BQwOzZsyksLKRv377069ePzMxMEhISSEtLY+PGjbi765TaHBqrnfVY7N27N717967THhwcXOvPqp1j1dTU8OSTT3LkyBG8vb0ZNGgQ7u7unDp1ioSEBI4cOcKmTZtsD03Ze36091htbvqXAURERLBjxw62b9/OD37wA/r37w/cSrw7duzA09OTKVOmOOzztYRK25CbmwvA8uXLG6xFZWUlK1asAGDjxo0MHz4cgIsXLzJ//ny2bdvG2LFjbf/OpPn94x//ID4+noqKinrbLRYLK1eupLy8nFWrVjFx4kQArl69SmxsLAcOHGDMmDGMGzfO9p5169ZRWFjIvHnzmD17NnDrSdilS5dy7Ngx3nrrLWbMmOH4L3eba6x28L+gFBMT06QrtKqdY+3bt48jR47Qu3dvXn75Zdv50Ww2s2TJEk6ePMnWrVuJjY21+/z4bY7V5tbuxygBdOvWjbi4OMrLy5k9ezZxcXEsWrSIOXPmUFFRwTPPPIO/v7/DPl9LqLQNubm5+Pv7NxpY3333XUpKSpgwYYLtJADQvXt3Fi5cCMBbb73l0H1trwoKClixYgXLli2jpqbG8LhNTU0lLy+PYcOG2U68AH5+fixbtgyoXaP8/Hw++eQTunfvzqxZs2yve3l58eyzz+Lm5sauXbsc9K3ah6bWDv4XlPr169fodlU7x9u/fz8ATzzxRK3zo6+vr+14ev/99wH7z4/2HquOoKD0/6ZMmcKGDRsYNGgQGRkZZGdnExYWxsaNG2sVxxG0hErrd+nSJf773/826SpQQ/UcNWoUbm5utj7SvDZv3sy7775L//79ef311+nVq1e9/RqqUVhYGP7+/mRmZlJeXg7Av/71LywWC6NGjaozHuLuu++mb9++fPnll5w7d655v1A70tTawa0fWry9venZs2ej21XtHM/X15devXoxcODAOm3WGhUVFQH2nx/tPVYdQbfevmb06NGMHj26RT/T3iVUmjLvkzQ/6203f39/XnzxRVJSUigsLOTuu+9m4sSJtQYrWk+49T0A0KlTJwICAigoKKC4uJiuXbu23JdoB3r16sWKFSuYOHFigwM8rTX65phEq549e1JSUsL58+cZNGhQgzWFW2NisrOzOXv2rOE2pWFNrV1paSmXL1+mX79+7Ny5k3feeYfPP/+czp07M2rUKObOncudd95p66/aOd5LL71k2JadnQ1gu9Jk7/nR3mPVEXRFycnKysqorq6mS5cueHh41Gl3d3fH19eXyspKhyZmaZj1Uv/f//533nvvPUwmEwMHDqSwsJCEhATbvXeA4uJiAAICAurdlvX1kpKSFtjz9mXmzJmEh4c3+hSMvTWy/jSsmjpOU2tnPRZzcnLYtGkT/v7+tgdgkpOTiYmJIT8/39ZftXMei8VCYmIiAGPHjgXsP/Zaw/lUV5SczN4lVLTWnHNYT87jx49n+fLltslHv/jiC5YuXUpWVhabN29m8eLFtqVuvvk4rJWWxHE+69+90XFnrZF1QLG9/cVxrFd3TSYTGzZsICgoCLhVo+eff57333+f5cuXs337dtvroNo5w6ZNmzhx4gT+/v5ER0cD2H1+bA31U1ByMi2h0jasXbuWS5cu0aNHj1pX/rp168aKFSuIjo4mOTmZhQsX4urq2uBtUtXT+axXLRqrUVP7G71Pmt+0adMYO3YsPj4++Pr62l63Ds7OyMggJyeHkydPcu+996p2TpKQkMCbb75Jhw4dWL16tW1KFXvPj/Yeq46gW29OpiVU2gZPT09MJlO9t0f79OnDXXfdRUVFBfn5+Xh5eWGxWAxrqno6n/XvvrEaWX+Kbay/9XXV1PHc3NwICgqqFZKsOnbsyLBhw4Bbt+ZAtWtpN27cYM2aNWzduhVPT0/WrVvH0KFDbe32nh/tPVYdQUHJybSEyu3BOii7qqrKds/cem/9m6xjJjSQ23msg30bq5G1lvb2F+exHlfWYQ2qXcupqKhgyZIl7N27l86dO/PKK6/UmazZ3vNja6ifgpKTWZdQqamp4bPPPqvT3pJLqEj9ysvLWb16NU899VS9YRZujVWCWwe1tVbnz5+v0++rr76iqKgIPz8/BSUnsj5BU1+NLBYL+fn5uLm52Z5EtfY3eoT8woULgPGTVdJ8tmzZwlNPPUVeXl697dZj0fqUlWrXMsrKypg/fz4pKSkEBgaSmJhY60qSlb3nR3uPVUdQUGoFrGu5WZdL+bqWWkJFjHl7e/PPf/6TgwcPcuLEiTrtKSkpmM1mevfuzZ133tlgPT/55BNqampUTydrqEZZWVlcvXqVsLAwfHx8avU/fPgwN2/erNX/8uXL5Obmcs899+jx8haQl5fHwYMH+fDDD+u0lZSUkJqairu7u+0WnGrneNevX2fx4sXk5OQQEhJCUlKSYfC09/xo77HqCApKrUBERASenp5s376dTz/91PZ6Sy2hIg1zcXEhKioKgA0bNnDlyhVb28WLF3nhhRcAbLP+jh07Fn9/f/bv38+RI0dsfS9dusRrr72Gi4sL06dPb8FvIN80dOhQTCYTqamptWa9v3r1qq2eX1/SIigoiBEjRpCfn09CQoLtdeuTVjU1NappC7Gue/mnP/2JzMxM2+sVFRX89re/pby8nMjISNutGNXO8RISEjh16hSBgYFs3ryZwMBAw772nh/tPVYdwcVsNmuofyuwZ88e1q1bh7u7O/fffz8Wi4W0tDRqampYuXKlw2cHl4ZVVlby+OOPk5mZibe3N2FhYQCkp6dTXV3N9OnTWbx4sa3/xx9/zLJly7h58yZDhw7F29ub48ePU1lZyYIFC2otpSCOM3/+fE6cOFHvCvSnT58mNjaWiooKBg0aREBAACdOnKCsrIyoqCieeeaZWv0vXbrEnDlzKC4uJjQ0lODgYLKysigqKmLkyJGsX79eC6s2o4Zq9/LLL7Nz505cXV0ZPHgwvr6+ZGRkYDabGTJkCK+++mqtwb2qneOUlpYSERFBVVUV/fr1a3BGdevitfaeH+09VpubglIrcvjwYXbs2MGZM2fw8PDge9/7HrNmzeKBBx5w9q4Jty4v79y5kwMHDvD555/j4eFB3759mTp1qm0yta/LysoiKSmJU6dOYbFYCAkJYfr06YwfP94Je98+NfSfLdwat5KYmEhaWhrXr1+nR48eTJ48mcjISNzc3Or0LygoICEhgaNHj1JeXk63bt148MEH+eUvf2k4L4x8O43V7sMPP2TXrl3k5uZSU1NDjx49mDhxItOmTas39Kh2jpGSkkJcXFyT+h47dsz2e3vPj/Yeq81JQUlERETEgMYoiYiIiBhQUBIRERExoKAkIiIiYkBBSURERMSAgpKIiIiIAQUlEREREQMKSiLSLlgsmglFROynqUhFpM04d+4cb7zxBunp6ZjNZu644w7CwsKYMWMGgwcPtvVbtWoVx48fZ//+/QBkZmaSlJTExo0bv/M+NDYBbHh4OCtWrAAgMjKSsLAw24zE9W1r1qxZLFiwAIDExESSkpI4evSoZooWaSV0JIpIm3D27FnmzJlDnz59WLRoEf7+/pSUlPDXv/6VefPmsW7dOkaPHg3cWnfvkUcesb03OTm53tXHv60HH3zQtv7fN/n7+zfb54iI8ykoiUibsHPnTnx8fHjttdfw8PCwvf6Tn/yE6OhoNm3aZAtKPXv2dOi+BAYG1rushojcfjRGSUTahJKSEqDuWCMPDw8WLVpU6wrPqlWriIiIAG6tGfb2229TWFjIAw88QHp6OgBlZWWsXbuWCRMmMGrUKGJiYmqtZi4iAgpKItJG/OhHP6KwsJDZs2ezZ88eLly4YGsbOXIkU6dOrfd9Tz75JCNHjsTPz4/ExET69u1LdXU1sbGxfPTRR/zqV79izZo1BAUFsWTJEg4fPtzovlgsFm7cuFHvLxG5vejWm4i0CZMmTaK4uJjt27ezbt06AHx9fbn//vuZNGkSw4cPr/d9vXv3xs/PDw8PD9vtsuTkZM6cOcPmzZsZOnQoAKNHj+bxxx/nlVdesd3CM7Jt2za2bdtWb9uf//xnQkNDv+W3FJHWRkFJRNqMOXPmMG3aNFJTU0lLSyM9PZ0PPviADz74gEcffZRFixY1aTtpaWn4+voyePDgWleBxowZwwsvvMCXX37JPffcY/j+hx56iIcffrjetu7du9v1nVxcXOzqLyItS0FJRNoUHx8fxo0bx7hx4wDIz8/nd7/7HX/84x8JDw9v0tUcs9mM2Wxm5MiR9bZfuXKlwaAUEBDAgAEDGv2cjh07Ul1dXW+b9XUvL69GtyMizqOgJCKtXkFBATExMcydO5cpU6bUagsODuaJJ55g5syZnDt3rklBqVOnTgQFBfH888/X2x4cHNws+x0QEEBRUVG9bQUFBQB07dq1WT5LRBxDg7lFpNULCAjA09OT3bt3U1FRUafdOkeSUUhyda19qhs2bBiFhYV06dKFAQMG2H79+9//JikpqU7/b2vo0KF8+umnXLx4sU7bRx99hKurK/fdd1+zfJaIOIauKIlIq+fm5sayZctYunQp0dHRPPLII5hMJq5fv056ejq7d+/m4YcfxmQy1fv+zp07YzabOXz4MPfeey8RERHs2bOHhQsXMnPmTLp160Z6ejrbt28nPDy80dthBQUFZGRk1Nvm4eHBwIEDAfjFL37Bvn37mD9/PtHR0ZhMJqqqqjh27Bi7d+9m6tSpBAUFfbe/HBFxKBez2awFkESkTcjNzWXHjh1kZmZSUlKCu7s7oaGhREVFERERYRsY/c0lTPLz81myZAmXL1/m2WefZcKECZjNZjZt2sTHH3/MV199RWBgIOHh4cTExDS4fEhjS5j4+/tz4MAB259LSkrYunUrR48epaioiA4dOhAcHExUVBQ///nPa71XS5iItD4KSiIiIiIGNEZJRERExICCkoiIiIgBBSURERERAwpKIiIiIgYUlEREREQMKCiJiIiIGFBQEhERETGgoCQiIiJiQEFJRERExMD/Af4F+v3+XefGAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Histogram Plot of Site EUI\n", + "\n", + "figsize(8, 8)\n", + "plt.hist(data['Site EUI (kBtu/ft²)'].dropna(), bins = 20, edgecolor = 'black');\n", + "plt.xlabel('Site EUI'); \n", + "plt.ylabel('Count'); \n", + "plt.title('Site EUI Distribution');" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/建筑能源利用率预测.ipynb b/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/建筑能源利用率预测.ipynb index 4c18119..e742c9a 100644 --- a/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/建筑能源利用率预测.ipynb +++ b/机器学习竞赛实战_优胜解决方案/建筑能源利用率预测/建筑能源利用率预测.ipynb @@ -2080,6 +2080,301 @@ "其中一栋建筑的得分远远高于其他建筑。" ] }, + { + "cell_type": "code", + "execution_count": 15, + "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", + " \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", + "
OrderProperty IdProperty NameParent Property IdParent Property NameBBL - 10 digitsNYC Borough, Block and Lot (BBL) self-reportedNYC Building Identification Number (BIN)Address 1 (self-reported)Postal CodeStreet NumberStreet NameBoroughDOF Gross Floor AreaPrimary Property Type - Self SelectedList of All Property Use Types at PropertyLargest Property Use TypeLargest Property Use Type - Gross Floor Area (ft²)Year BuiltNumber of Buildings - Self-reportedOccupancyMetered Areas (Energy)Metered Areas (Water)scoreSite EUI (kBtu/ft²)Weather Normalized Site EUI (kBtu/ft²)Weather Normalized Site Electricity Intensity (kWh/ft²)Weather Normalized Site Natural Gas Intensity (therms/ft²)Weather Normalized Source EUI (kBtu/ft²)Natural Gas Use (kBtu)Weather Normalized Site Natural Gas Use (therms)Electricity Use - Grid Purchase (kBtu)Weather Normalized Site Electricity (kWh)Total GHG Emissions (Metric Tons CO2e)Direct GHG Emissions (Metric Tons CO2e)Indirect GHG Emissions (Metric Tons CO2e)Property GFA - Self-Reported (ft²)Water Use (All Water Sources) (kgal)Water Intensity (All Water Sources) (gal/ft²)Source EUI (kBtu/ft²)Release DateWater Required?DOF Benchmarking Submission StatusLatitudeLongitudeCommunity BoardCouncil DistrictCensus TractNTA
806899844414323234 SkillmanNot Applicable: Standalone PropertyNot Applicable: Standalone Property302893750230289375023390250 , 3338313234 Skillman avenue11211234SKILLMAN AVENUEBrooklyn61811.0Multifamily HousingMultifamily HousingMultifamily Housing56900.02004190Whole BuildingNaN1.0869265.0939329.09.99393.0986366.04.945919e+10534458968.81983655.6563239.62627199.12627015.0184.156900.02547.944.78912801.105/01/2017 11:34:14 PMNaNIn Compliance40.716233-73.941411.034.0477.0East Williamsburg ...
\n", + "
" + ], + "text/plain": [ + " Order Property Id Property Name Parent Property Id \\\n", + "8068 9984 4414323 234 Skillman Not Applicable: Standalone Property \n", + "\n", + " Parent Property Name BBL - 10 digits \\\n", + "8068 Not Applicable: Standalone Property 3028937502 \n", + "\n", + " NYC Borough, Block and Lot (BBL) self-reported \\\n", + "8068 3028937502 \n", + "\n", + " NYC Building Identification Number (BIN) Address 1 (self-reported) \\\n", + "8068 3390250 , 3338313 234 Skillman avenue \n", + "\n", + " Postal Code Street Number Street Name Borough \\\n", + "8068 11211 234 SKILLMAN AVENUE Brooklyn \n", + "\n", + " DOF Gross Floor Area Primary Property Type - Self Selected \\\n", + "8068 61811.0 Multifamily Housing \n", + "\n", + " List of All Property Use Types at Property Largest Property Use Type \\\n", + "8068 Multifamily Housing Multifamily Housing \n", + "\n", + " Largest Property Use Type - Gross Floor Area (ft²) Year Built \\\n", + "8068 56900.0 2004 \n", + "\n", + " Number of Buildings - Self-reported Occupancy Metered Areas (Energy) \\\n", + "8068 1 90 Whole Building \n", + "\n", + " Metered Areas (Water) score Site EUI (kBtu/ft²) \\\n", + "8068 NaN 1.0 869265.0 \n", + "\n", + " Weather Normalized Site EUI (kBtu/ft²) \\\n", + "8068 939329.0 \n", + "\n", + " Weather Normalized Site Electricity Intensity (kWh/ft²) \\\n", + "8068 9.9 \n", + "\n", + " Weather Normalized Site Natural Gas Intensity (therms/ft²) \\\n", + "8068 9393.0 \n", + "\n", + " Weather Normalized Source EUI (kBtu/ft²) Natural Gas Use (kBtu) \\\n", + "8068 986366.0 4.945919e+10 \n", + "\n", + " Weather Normalized Site Natural Gas Use (therms) \\\n", + "8068 534458968.8 \n", + "\n", + " Electricity Use - Grid Purchase (kBtu) \\\n", + "8068 1983655.6 \n", + "\n", + " Weather Normalized Site Electricity (kWh) \\\n", + "8068 563239.6 \n", + "\n", + " Total GHG Emissions (Metric Tons CO2e) \\\n", + "8068 2627199.1 \n", + "\n", + " Direct GHG Emissions (Metric Tons CO2e) \\\n", + "8068 2627015.0 \n", + "\n", + " Indirect GHG Emissions (Metric Tons CO2e) \\\n", + "8068 184.1 \n", + "\n", + " Property GFA - Self-Reported (ft²) \\\n", + "8068 56900.0 \n", + "\n", + " Water Use (All Water Sources) (kgal) \\\n", + "8068 2547.9 \n", + "\n", + " Water Intensity (All Water Sources) (gal/ft²) Source EUI (kBtu/ft²) \\\n", + "8068 44.78 912801.1 \n", + "\n", + " Release Date Water Required? \\\n", + "8068 05/01/2017 11:34:14 PM NaN \n", + "\n", + " DOF Benchmarking Submission Status Latitude Longitude \\\n", + "8068 In Compliance 40.716233 -73.94141 \n", + "\n", + " Community Board Council District Census Tract \\\n", + "8068 1.0 34.0 477.0 \n", + "\n", + " NTA \n", + "8068 East Williamsburg ... " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.loc[data['Site EUI (kBtu/ft²)'] == 869265, :]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "离群点的可能性:\n", + "\n", + "* 输入错误\n", + "* 测量设备故障\n", + "* 不正确的单位\n", + "* 或者可能是真实的。\n", + "\n", + "离群点,我们一般抛弃。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 剔除离群点\n", + "\n", + "处理离群点时,不能主观的判断,导致丢失数据,如何去除[离群点](https://people.richland.edu/james/lecture/m170/ch03-pos.html),处理时尽可能保守:\n", + "\n", + "* 在低端,值低于 $\\text{First Quartile} -3 * \\text{Interquartile Range}$\n", + "* 在高端,值高于 $\\text{Third Quartile} + 3 * \\text{Interquartile Range}$" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# Calculate first and third quartile\n", + "first_quartile = data['Site EUI (kBtu/ft²)'].describe()['25%']\n", + "third_quartile = data['Site EUI (kBtu/ft²)'].describe()['75%']\n", + "\n", + "# Interquartile range\n", + "iqr = third_quartile -first_quartile\n", + "\n", + "# Remove outliers\n", + "data = data [(data['Site EUI (kBtu/ft²)']>(first_quartile - 3*iqr)) & (data['Site EUI (kBtu/ft²)']<(third_quartile + 3*iqr))]" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkoAAAIgCAYAAAB6TEalAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nOzdeVxVdf7H8TeLsrkigoorariGaZJrQmP9tKZRS1NxzEwNzXaHtCmXsJpcsiZnFJTUpkmzzSUSs8Ul1NBQITNZXGhcAgEXZDPw/v7wcW9duQfRuMLV1/Px6EF8v9/7ud9zjsD7cc73nOt05swZkwAAAFCGc1VPAAAAoLoiKAEAABggKAEAABggKAEAABggKAEAABggKAEAABggKAEOLj4+Xn/72980YMAA9erVSwMGDNBTTz2luLg4mUzWT/9ITExUcHCw5s2bZ9V+4MAB7dy5s9LnNmjQIAUHB1/xvwULFlheExsbq+DgYC1ZsqRCtX9vyZIlCg4OVmxs7BXnNnHixDLz6NGjh0JCQjR8+HC99dZbys7OLvM6o31YUVezr22918svv6zg4GAdOHDgmt6/PMXFxXrvvfes2sz79Ouvv6709wMcgWtVTwDAtXvzzTe1atUq+fr6qk+fPqpfv75ycnL03XffaebMmfryyy81d+5cubpe+lFv3Lixxo8fr44dO1pqmIPWE088oZ49e9plnuPHjy+3v3PnznZ534oYMWKEatWqJUkqLS3V+fPntX//fq1cuVKxsbFauHCh2rdvbxlvax9W1NXu6z/yXtdi4sSJOnz4sEaPHm1p69atmySpVatW12UOQHVDUAIc1N69e7Vq1Sr17t1bc+fOVY0aNSx9RUVFioiIUHx8vD755BMNHz5cktSkSRM99thjVnXOnDmjixcv2nWul79ndTJixAg1adKkTPsnn3yiOXPmaMqUKfrwww8tYcrWPqyoq93Xf+S9rkVubm6Ztm7dulnCEnAz4tIb4KC+/fZbSZf+0P8+JEmSu7u7pkyZIkn65ptvrvvcbgQPPvighgwZouzsbK1evbqqpwOgihCUAAf166+/SpIOHz5ss79ly5b6xz/+ocmTJ1vaLl/z8vLLLysyMlKS9Pbbbys4OFiJiYmW8ampqXr++efVv39/9enTR2FhYfrggw/sfgaqujBfgtq0aZOlzda6oZKSEi1dulRhYWG688479ac//UmPP/64JcxKxvv6xIkTCg4O1qJFi7RgwQL169dP/fv3V2xsbLnroc6fP69XXnlF/fv3V0hIiJ588kn98MMPVmPKW180atQoyxov8xxOnjypwsJCBQcHa+LEieXWOHDggCIiItS/f3/17t1bQ4cO1ZIlS1RYWGg1zrym6syZM5o3b57uvfde9enTR6NGjdKGDRuufBCAKsalN8BBBQcHa/Xq1Vq4cKGOHTum//u//1PHjh3l4uJiGfOnP/2p3Br9+vVTXl6etm3bpjvuuEOdO3dW48aNJUnfffedIiIi5OzsrJCQEPn4+Gj37t1asGCBkpOT9dprr9l1+6qDpk2bysfHR0eOHNGZM2dUr149m+PmzZunNWvW6LbbbtOwYcNUUFCgL7/8UlOmTNHcuXMVEhJS7r6WpPXr10uShgwZomPHjqlz5842F5ObzZw5U87Ozrr33nt1+vRpffPNN5o4caIWLlyorl27XtV21q5dW+PHj9cHH3ygoqIiPfLIIzYvR5pt2bJFL7zwgpydndWvXz/5+Phoz549iomJUXx8vKKiouTp6Wn1mqeeekqnT59WaGiofv31V23cuFGzZs2Sl5eX+vXrd1XzBa4nghLgoPr27athw4bpo48+svzn5eWloKAgde/eXaGhoeX+sZOkkJAQnT9/3vLH+69//aukS2ucZs2aJXd3d61YsUL+/v6SJJPJpNmzZys2NlZ33nmnBgwYUKG5XukOtuq8hsnX11fZ2dnKzs62GZTOnz+vdevW6bbbblN0dLSlfdiwYRo5cqQ++ugjhYSEGO7rEydOSLq0Pui9995TYGCgpUZ5QalmzZp69913LXMaMmSIJk+erNdff10ffvjhVW1j7dq19dhjj+nzzz9XaWlpucfDfCbL3d1dixYtsix0v3jxoubMmaM1a9YoKipKzz33XJnXrl692hKg+vXrp2effVZr1qwhKKFaIygBDiwiIkK9evXSRx99pN27dys/P187duzQjh07tHDhQg0aNEjPPfec3Nzcrqrut99+q9zcXE2ePNkSkiTJyclJjz/+uGJjY/XZZ59VOCjFxMSU21+dg5J5/Vd+fr7hGJPJpF9++UW//PKLGjVqJEkKCAjQp59+Kl9f3wq9j7+/v1VIupJHH33UKrh17dpVoaGh+uqrr3TgwAF16NChwrWuxrZt23Tu3Dk98sgjVncDOjs768knn9TXX3+t2NhYPfPMM3J2/m11x7Bhw6zOMvXo0UMuLi46duyYXeYJVBaCEuDgevfurd69e6uoqEj79u1TYmKi4uPjdejQIa1Zs0bnz5/Xq6++elU1f/rpJ0lSSkqKzbNBbm5uSk1NrXC9Xbt2VXisk5OTXcZeK3NA8vDwsNlfq1YtDRgwQHFxcRoyZIg6deqkHj16qG/fvrrlllsq/D6/vwxXEUFBQWXaOnbsqK+++kppaWl2C0ppaWmSpNtuu61MX61atdS2bVvL2qumTZta+po3b2411sXFRe7u7pa1dkB1RVACbhDu7u7q0aOHevToocmTJ+vbb7/Viy++qC+//FITJ05Us2bNKlwrLy9PkvTVV18ZjrHXHzgvLy9JlxZIl6e4uNgy1l7MZ4qcnJzKvYw5ffp0BQYGKjY2VklJSUpKSlJ0dLTatGmjF154oULPibras34NGjQo02beH0VFRVdV62qcP3/e6r0u5+PjY3MOl9+ZKV2foAv8UQQlwAGdP39eY8aMUZMmTbRw4UKbY/r27auBAwdqzZo1+vnnn68qKJnPnrz99tvq0aNHpcy5osyXk2w908fswoULOnPmjNVlQXtITU3V+fPn1bp1a8tzlGxxdXVVWFiYwsLClJmZqd27d+vrr7/W9u3b9eyzz+qzzz4zPCN1rQoKClS7dm2rtlOnTkmS6tSpI+m3IHL5E9qlaw9T5stnRuunzp07J0mqW7fuNdUHqhseDwA4oFq1aik/P1+JiYnKzMy84viGDRteVX3zJSPzJbjfKygo0IIFC7R27dqrqllR7dq1U40aNZSUlGT4GAJzX6dOnewyBzPzoujy1mIdO3ZM//rXvyyPAvDz89Of//xnvfnmmwoJCdG5c+cMH+HwR9g6NsnJyZIu7UPpt7M4l9+yX1xcXKF/N7aY11Ht27evTF9xcbF+/PFH1a1bV97e3tdUH6huCEqAgxo+fLhKSkr0wgsv2Pyjl5ycrC+++ELt27cvd62M+eNNLly4YGkLCQlRrVq19N///ldHjx61Gr948WJ98MEHdvnjL126hBgaGqqMjAwtXbq0TH9eXp7+/e9/S7r0eW/2sn79en322Wfy9fXVsGHDDMe5ubnpvffeU3R0tNU+LC0tVVZWlpydnS0Lum3t62u1dOlSFRQUWL7funWrEhIS1LlzZ8vHjbRo0ULSpY9O+b333nvP5hxcXV1VUlJi8wyUWb9+/VS7dm2tWbPG6vPmLl68qH/+8586d+6cBgwYYPWYCsCRcekNcFAPP/ywDh06pE2bNmno0KEKDg62/GFMSUnR999/rwYNGuiVV14pt475Lq21a9eqoKBA9957rwICAjR9+nT9/e9/1+jRo9WvXz/5+voqOTlZycnJatWqlcaNG1fhuV7p8QC1a9fWyJEjLd8/88wzSktL0zvvvKMtW7aoW7du8vT0VGZmprZv365z585p/PjxV/28IFs++OADy2W1ixcv6uzZs0pKSlJ6erq8vb21YMGCMs8E+r2GDRtqxIgRWrVqlUaMGKHevXvLxcVFu3btUnp6uoYPH245o2drX7u7u1/TvIuKijRq1CiFhITo5MmT2rp1q+rUqaMXX3zRMqZv377y9fXV5s2b9cQTT6hdu3Y6cOCAfvzxR7Vr104HDx60qtmoUSP973//0/Tp09W5c2fLR9/8npeXl2bMmKEXXnhBEyZMsDxHae/evUpJSVG7du00adKka9omoDoiKAEOysXFRa+88oruuecexcXF6ccff9SuXbvk7Owsf39/PfLII/rrX/9aZh3L5bp06aIRI0bo888/1+rVq9WyZUsFBAQoNDRUS5cu1YoVK5SQkKCioiL5+fnp4Ycf1ujRo69qDcqVHg/QuHFjq6Dk4+OjZcuW6eOPP9Y333yjL774QoWFhWrQoIG6du2qYcOGqXv37hV+//J88MEHlv93cnKSp6enmjVrprFjx2rEiBGqX7/+FWs89dRTatGihdauXasNGzbo119/VcuWLfXCCy9YnfWyta+vNewtWLBA0dHRlkug/fr10+OPP251d5mrq6uioqK0cOFC7d69W/v371fnzp21dOlSrVq1qkxQeuKJJzR79mxt3rxZBw8etBmUzO8VExOjZcuWadeuXSouLpa/v78mTZqkUaNGqWbNmte0TUB15HTmzBnjc6wAAAA3MdYoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoVUNpaWlVPQVcI46dY+P4OS6OneOq7seOoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGDAtaonAKB6eSpyng7l5Fd63dYNvPT2jIhKrwsA9kRQAmDlUE6+tneZUPmF9y2t/JoAYGdcegMAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADDgWtUTkKTY2FhFRkZqyZIl6tKli6V94sSJ2rNnzxVfP378eD322GOW74cMGaLjx48bjt+xY4dcXX/b9KKiIn3wwQeKi4vTiRMnVLt2bfXu3Vvh4eHy8fG5xq0CAACOrsqDUnJysubPn2+zLzg4WL6+vjb7CgoKtG3bNknSLbfcYmk/f/68Tpw4IW9vbwUHB9t8rbPzbyfSSkpKFBERoYSEBPn5+al37946evSo1q1bp/j4eC1fvlyNGjW61s0DAAAOrEqD0ubNmxUZGamCggKb/Y8++qjha2fOnClJCgsLU0hIiKU9NTVVJpNJffv21YsvvnjFOaxevVoJCQnq3bu35syZo5o1a0qSFi1apBUrVmju3LlasGDBVWwVAAC4UVTJGqXMzEzNnDlTU6dOVWlpqby9va/q9Rs3blRcXJxat26tyZMnW/WlpKRIktq1a3fFOiaTSatWrZKTk5MiIiIsIUm6dNmvRYsWio+PL/cyHgAAuHFVSVCKiopSXFyc2rdvr2XLlqlly5YVfm1BQYH++c9/SpKmTZumGjVqWPWbg1L79u2vWCs9PV1ZWVlq27atmjRpYtXn7Oysvn37SpJ27txZ4fkBAIAbR5VcemvZsqVmzpypgQMHWq0Xqojly5crJydHd999t4KCgsr0p6amysXFRRkZGXrrrbeUnp4uJycnBQUFady4cerYsaNl7OHDhyVJrVu3NpyndClQAQCAm0+VnFEaM2aM7rvvvqsOSWfPntXq1avl5OSkcePGlem/cOGCjhw5otLSUs2cOVMXLlxQt27dVK9ePcXHx2vChAn6+uuvLeOzs7MlSQ0aNLD5fuY73nJzc69qngAA4MZQ5Xe9XY1PPvlERUVFuvPOOxUQEFCmPz09XaWlpfLy8tKcOXOs7npbtWqV3nzzTUVGRiooKEg+Pj4qKiqSJLm7u9t8Pzc3N0lSYWGh4ZzS0tL+yCZd97qwP0c/doUFxv/e/2hdR9g3jjBH2Maxc1xVfezatm1r2OcwQam0tFQff/yxJGn06NE2x3To0EEbNmzQr7/+qsaNG1v1jRw5Unv27NHWrVv1+eefa8yYMXJycpIky9fLmUwmq6+2lLdzr1VaWppd6sL+boRj5+HpYbe61X3f3AjH72bFsXNc1f3YOcyTuffu3avs7Gw1adLE5tokMx8fnzIhycy8OPunn36SJHl6ekqSiouLbY6/cOGCJOMzTgAA4MbmMEFp8+bNkqS77777mmuY1yKZg5F5DVJOTo7N8eY1TDydGwCAm5PDXHrbsWOHJCk0NNRwzJdffqmtW7eqT58+GjBgQJn+EydOSJLlad/mu92OHDlis97Ro0clSW3atLnmeQMAAMflEGeUzpw5o+PHj8vd3d3q40oul5ubq02bNumTTz4p02cymRQXFydJ6tGjhySpVatWaty4sVJSUpSZmWk1/uLFi9q2bZucnJws4wEAwM3FIYKSeU1RYGCg1YfZXu6ee+6Rl5eXkpKStHLlSku7yWRSTEyM9u/frzZt2ljWKknSAw88oNLSUr3yyitWd7dFRUXp559/VkhIiJo2bWqHrQIAANWdQ1x6M3+EyOVPz75c/fr1NX36dL300kt66623tH79erVs2VLp6en6+eef1aBBA73++utWYSssLEzx8fFKSEjQgw8+qFtvvVUZGRk6dOiQGjVqpIiICLtuGwAAqL4c4ozSmTNnJEl+fn5XHHvXXXfpnXfeUWhoqHJzc7Vt2zb9+uuveuihh7Ry5Uo1b97canyNGjW0cOFCjRs3Tu7u7oqPj1dBQYGGDBmiZcuWsZAbAICbWLU4oxQVFVVu//jx4zV+/PgK12vfvr3mzJlT4fHu7u4KDw9XeHh4hV8DAABufA5xRgkAAKAqEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMVIuPMAFwdZ6KnKdDOfl2qZ129H9SF7uUBgCHQ1ACHNChnHxt7zLBLrXrpL9ol7oA4Ii49AYAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAz3oDcF2kpxzUfU/Pskvt1g289PaMCLvUBnBzIygBuC4KXdzt9kG+2rfUPnUB3PS49AYAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGDAtaonIEmxsbGKjIzUkiVL1KVLF6u+zMxM3X///YavDQoK0tKlS63aTp06pZiYGCUkJCgnJ0d+fn4aOHCgRo8erZo1a5apkZeXpxUrVmjLli3KysqSt7e3QkNDNX78eNWqVatyNhIAADicKg9KycnJmj9/vmF/SkqKJKlNmzZq06ZNmf4WLVpYfZ+Zmalx48YpKytLgYGBateunZKSkhQdHa3vv/9eCxculKvrb5t9/vx5hYeHKz09XS1atFDv3r118OBBrVy5Ujt37tQ777xDWAIA4CZVpUFp8+bNioyMVEFBgeEYc1B6+OGHNWDAgCvWnDt3rrKyshQeHq5x48ZJkgoLCxUREaFdu3Zp9erVGjVqlGV8VFSU0tPTNXjwYE2bNk3Ozs4qKSnR7NmzFRcXp8WLFysiIuIPbikAAHBEVbJGKTMzUzNnztTUqVNVWloqb29vw7HmoNSuXbsr1s3IyFB8fLyaNm2qsWPHWto9PDz00ksvycXFRR9++KGlPS8vT+vWrZOXl5eefvppOTtf2h2urq6aOnWq6tSpo/Xr16uwsPBaNxUAADiwKglKUVFRiouLU/v27bVs2TK1bNnScGxqaqo8PT3VvHnzK9b97rvvZDKZ1KdPH0voMWvUqJECAwN18uRJHT58WJK0d+9eFRcX6/bbb5eXl5fVeE9PT3Xv3l3FxcXas2fP1W8kAABweFUSlFq2bKmZM2dq+fLlNtcdmZ09e1a//PKLmjdvrpUrVyosLEx9+/bVvffeq9dee02nTp2yGm8OQK1bt7ZZz7ye6dChQxUabw5w6enpFd84AABww6iSNUpjxoyp0DjzZbeDBw8qPT1dXbt2lZ+fnw4cOKC1a9fq22+/VVRUlCUAZWdnS5J8fHxs1jO35+bmVmh8gwYNrMYDAICbS5Xf9Vae1NRUSVJAQIDeeOMN+fv7S7q0OPvVV1/Vpk2bNH36dP3nP/+xtEuSu7u7zXpubm6SZFk8fqXx5vby1iilpaVd1TZVlL3qwv6ux7ErLLDfurnS0osOVVe6tD8qa7/zs+e4OHaOq6qPXdu2bQ37qnVQGjlypEJDQ+Xl5aV69epZ2s2Ls/ft26eDBw/qhx9+UOfOnS3rkpycnMqtazKZJKnMOiajceavtpS3c69VWlqaXerC/q7XsfPw9LBbbRcX+1yRt1dd6dL+qIz9zs+e4+LYOa7qfuyq9ZO5XVxc5O/vbxWSzNzd3dWtWzdJly7NSZcClCQVFxfbrGduN4+72vEAAODmUq2D0pWY1xAVFRVJkho2bChJysnJsTn+8jVJVxpvbje/DwAAuLlU66C0dOlSTZs2zfCusxMnTkiSfH19JV1ayyT9djfb5Y4ePSrpt7vczF+PHDlic7y5vbw78wAAwI2rWgel9PR0ffPNN/rqq6/K9OXm5iohIUGurq6WS3A9e/aUJH377be6eNF64egvv/yi1NRUNW7c2BKobrvtNrm5uWn37t1lFmwXFBRo9+7d8vT0LPP5cwAA4OZQrYPSkCFDJEnvv/++kpKSLO0FBQWaPXu28vPzNWjQIMulNH9/f/Xs2VMZGRmKjo62jDffJVdaWqqwsDBLu4eHh+677z6dO3dOc+bMUUlJiSSppKREc+fOVV5engYPHlzmYZQAAODmUK3veuvRo4fCwsK0cuVKhYeH69Zbb1W9evW0b98+nTlzRl26dNHTTz9t9Zrnn39e48eP1/Lly7Vt2za1aNFCycnJys7OVq9evfTggw9ajZ80aZISExO1YcMGJSUlKTAwUCkpKTp+/LgCAwP12GOPXc9NBgAA1Ui1DkqS9Mwzz6hTp0768MMPlZqaqtLSUjVr1kyjR4/WyJEj5epqvQn+/v5asWKFoqOjtWPHDh07dkxNmjTR8OHDNWLEiDLj69atq5iYGMXExGjLli2Kj4+Xn5+fRo8erbFjx8rT0/N6bi4AAKhGqkVQioqKKre/f//+6t+/f4Xr+fn5acaMGRUeX7duXU2ZMkVTpkyp8GsAAMCNr1qvUQIAAKhKBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADrlU9AUmKjY1VZGSklixZoi5dupTp37Fjh1atWqWffvpJBQUF8vHxUc+ePfXoo4/Kz8/PamxJSYlCQkJ04cIFm+/l6+ur2NhYq7a8vDytWLFCW7ZsUVZWlry9vRUaGqrx48erVq1albehAADAoVR5UEpOTtb8+fMN+9999139+9//lrOzszp06CBvb2+lpqZqzZo12rJli6Kjo9WyZUvL+CNHjujChQtq2rSpOnXqVKZenTp1rL4/f/68wsPDlZ6erhYtWqh37946ePCgVq5cqZ07d+qdd94hLAEAcJOq0qC0efNmRUZGqqCgwGb/4cOHFRUVJU9PT7399tu69dZbJV06a7RgwQJ9/PHHioyM1LJlyyyvSUlJkST9+c9/1qOPPnrFOURFRSk9PV2DBw/WtGnT5OzsrJKSEs2ePVtxcXFavHixIiIiKmFrAQCAo6mSNUqZmZmaOXOmpk6dqtLSUnl7e9scFxcXp9LSUoWFhVlCkiS5urrqueeeU/369bV//36dPHnS0peamipJat++/RXnkZeXp3Xr1snLy0tPP/20nJ2dLfWnTp2qOnXqaP369SosLPwjmwsAABxUlQSlqKgoxcXFqX379lq2bJnVpbPfq1Gjhtq0aWNz3ZKrq6uaNGkiSTp16pSl3XxGKTAw8Irz2Lt3r4qLi3X77bfLy8vLqs/T01Pdu3dXcXGx9uzZU9FNAwAAN5AqufTWsmVLzZw5UwMHDrScxbHlscce02OPPWazr7CwUEeOHJEky4Juk8mk1NRUNWjQQNu2bdPatWt19OhR1axZU8HBwZowYYJatGhhqXH48GFJUuvWrQ3nKUnp6enq3bv3VW8nAABwbFVyRmnMmDG67777yg1JV/Kf//xHBQUF6tChgyUoHT9+XPn5+crJydHrr7+umjVrqlu3bqpZs6Y2bdqkRx55RElJSZYa2dnZkiQfHx+b79GgQQNJUm5u7jXPEwAAOK4qv+vtWmzfvl0rVqyQs7OznnzySUu7+bKbr6+vFixYoFtuuUXSpcXf//73v/X+++/rxRdf1CeffCI3NzfL2iN3d3eb72NuZ40SAAA3J4cLSvHx8XrhhRdUWlqqyZMnq1u3bpa+u+66S5999pmcnZ3VsGFDS7urq6uefPJJJSYm6uDBg9q6davuueeeK57RMplMVl9tSUtL+4NbdH3rwv6ux7ErLLBfeC8tvehQdaVL+6Oy9js/e46LY+e4qvrYtW3b1rDPoYLS+vXr9Y9//EOlpaUaP368xowZY9Xv5ORU5gGUZs7OzpZnJB08eFD33HOPPDw8JEnFxcU2X2NuN4+zpbyde63S0tLsUhf2d72OnYen8b/JP69ZIyEAACAASURBVMrFxT5X5O1VV7q0Pypjv/Oz57g4do6ruh87hwlKUVFRWrZsmZycnPTss89q5MiRV13DvOaoqKhIkixnnXJycmyON7ebXwcAAG4u1T4omUwmvfrqq1q/fr1q1qypmTNn6u6777Y59qOPPtLevXs1ePBgBQcHl+k/ceKEpEtrmKTf7nYz3z13OXN7mzZt/vB2AAAAx1Ptg9Jbb72l9evXy8vLS2+88Ya6du1qOPb48eP66quvVKNGjTJBqbi4WF9//bUk6Y477pAk3XbbbXJzc9Pu3btVWFhodYmtoKBAu3fvlqenp83nOAEAgBtflTweoKJ27typVatWycXFRW+++Wa5IUmS/vKXv8jFxUUbN27UN998Y2kvKSnR/PnzdfLkSfXq1cvy1G4PDw/dd999OnfunObMmaOSkhLL+Llz5yovL0+DBw8u8zBKAABwc6jWZ5SWLl0q6dIaoU8//VSffvqpzXFjx45Vq1atFBAQoGeeeUYLFizQtGnT1KFDBzVq1Ej79+9XVlaWWrZsqRkzZli9dtKkSUpMTNSGDRuUlJSkwMBApaSk6Pjx4woMDDR84CUAALjxVdugVFRUpAMHDkiSsrKytHHjRsOxgwYNUqtWrSRJw4cPV6tWrfTf//5XP/74o9LT09WoUSONHTtWY8aMkaenp9Vr69atq5iYGMXExGjLli2Kj4+Xn5+fRo8erbFjx5YZDwAAbh7VIihFRUWVaXN3d9d33313TfWCg4NtLuY2UrduXU2ZMkVTpky5pvcDAAA3pmq9RgkAAKAqEZQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMuFb1BADgj0pPOaj7np71h+sUFhTKw9PDqq11Ay+9PSPiD9cG4JgISgAcXqGLu7Z3mWCf4vuW2qcuAIfApTcAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADFQ5KMTExyszMtNl3/PhxzZ07t9ImBQAAUB24ltd5/Phxy//HxMSoVatWKikpKTNu8+bN+uyzz/T8889X/gwBAACqSLlBacGCBdq+fbskyWQy6cUXX7Q5zmQyqWfPnpU/OwAAgCpUblCaOnWqdu3aJUmaPXu2xowZo2bNmlmNcXFxUa1atdS9e3f7zRIAAKAKlBuUfH199ec//1mSdPLkSf3lL3+Rn5/fdZkYAABAVSs3KP3ehAkTJEnnzp1TYWGhTCZTmTGNGjWqvJkBAABUsQoHpePHj2vWrFn64YcfDMd89913lTIpAACA6qDCQWn+/Pk6cuSIxo4dKz8/Pzk5OdlzXgAAAFWuwkEpMTFRERERuv/+++05HwAAgGqjwkHJ3d1dDRo0sMskYmNjFRkZqSVLlqhLly5l+jMyMrR06VLt27dPZ8+eVbNmzTR48GANHTpUzs5ln5l56tQpxcTEKCEhQTk5OfLz89PAgQM1evRo1axZs8z4vLw8rVixQlu2bFFWVpa8vb0VGhqq8ePHq1atWnbZZtz4noqcp0M5+XapnXb0f1LZHxUAQCWrcFDq37+/NmzYoF69elXqBJKTkzV//nzD/tTUVIWHhys/P19BQUHq0KGDEhMTNX/+fO3fv1+RkZFW4zMzMzVu3DhlZWUpMDBQ7dq1U1JSkqKjo/X9999r4cKFcnX9bbPPnz+v8PBwpaenq0WLFurdu7cOHjyolStXaufOnXrnnXcIS7gmh3Lytb3LBLvUrpNu+5lmAIDKVeGg1KZNGy1evFiPPvqogoKC5O7ubtXv5OSkxx577KrefPPmzYqMjFRBQYHNfpPJpFmzZik/P18vv/yyBg4cKEk6ffq0Jk+erI0bNyokJER33XWX5TVz585VVlaWwsPDNW7cOElSYWGhIiIitGvXLq1evVqjRo2yjI+KilJ6eroGDx6sadOmydnZWSUlJZo9e7bi4uK0ePFiRUREXNV2AQCAG0OFg9KcOXMkST/++KN+/PHHMv1XE5QyMzO1aNEixcXFyd3dXd7e3srNzS0zLiEhQenp6erWrZslJElS/fr1NXXqVE2YMEGrV6+2BKWMjAzFx8eradOmGjt2rGW8h4eHXnrpJQ0ZMkQffvihJSjl5eVp3bp18vLy0tNPP225jOfq6qqpU6dq+/btWr9+vZ544gl5eHhUcE8BAIAbRYWDUkJCQqW9aVRUlOLi4tS+fXtNnz5d8+fPtxmUdu7cKUnq169fmb6goCB5e3srKSlJ+fn58vLy0nfffSeTyaQ+ffqUWbvUqFEjBQYG6sCBAzp8+LACAgK0d+9eFRcXq0ePHvLy8rIa7+npqe7du+vrr7/Wnj171Lt370rbfgAA4BjKroS+Dlq2bKmZM2dq+fLlatOmjeG4w4cPS5ICAgJs9jdv3lwXL17UkSNHrMa3bt3a5vgWLVpIkg4dOlSh8S1btpQkpaenl7c5AADgBlXhM0qzZ8++4pjp06dXqNaYMWMqNC4nJ0eS5OPjY7Pf3G4+G5WdnV2p4813+dk62wUAAG58f+jSW0FBgfLz81WvXj3dcsstlTox6dIibEllFo6bubm5WeZhj/HmdvM4AABwc6lwUIqNjbXZfvDgQf3973/XAw88UGmTMjOvMzJ6Cvjlnzd3pfGXv87WM5hsjbP1uXZmaWlp5da4VvaqC/szH7vCAvsF7NLSiw5X2xHnLF06jvw8OgaOk+Oq6mPXtm1bw74KByUj7dq107hx47RkyRKFhob+0XJWzHeaFRcX2+y/cOGCpN/O/FxpvLndPO5qx9tS3s69VmlpaXapC/v7/bHz8LTfnZIuLvZbXmiv2o44Z+nSceTnsfrj96bjqu7HrlJ+u3h7e+vYsWOVUcpKw4YNJf22Vulyl68xquzx5nZ7PZEcAABUbxUOShcvXizzX0lJiY4dO6Z3331XTZo0qfTJme92M9/V9nsmk0kZGRlycXFRq1atrMab72a73NGjRyX9dpeb+aut+r9vL+/OPAAAcOOq8KW3nj17lrv2pyJ3xV2tnj176r333tPWrVs1dOhQq77k5GSdPn1aXbt2tTwDqWfPnpKkb7/9Vk888YTVGqRffvlFqampaty4sSVQ3XbbbXJzc9Pu3btVWFhodYmtoKBAu3fvlqenp83PnwMAADe+CgelcePGlQlKTk5O8vLyUt++fdW0adNKn1zXrl0VEBCghIQErV27VoMHD5Z06SNMzE8K//3Hkfj7+6tnz57auXOnoqOjNWnSJEmX7lp79dVXVVpaqrCwMMt4Dw8P3Xffffr00081Z84cvfTSS3J1dVVJSYnmzp2rvLw8hYWFlXkYJQAAuDlUOChd7ee4VQZnZ2dNnz5dkydP1muvvab169fLx8dHe/bs0blz5zR48GD17dvX6jXPP/+8xo8fr+XLl2vbtm1q0aKFkpOTlZ2drV69eunBBx+0Gj9p0iQlJiZqw4YNSkpKUmBgoFJSUnT8+HEFBgZWyXYDAIDq4arueisuLta6deu0Z88e5eXlqV69eurSpYvuv/9+w2cR/VEdO3bUsmXLtGTJEn3//fc6dOiQmjVrpscff1yDBg0qM97f318rVqxQdHS0duzYoWPHjqlJkyYaPny4RowYIVdX602uW7euYmJiFBMToy1btig+Pl5+fn4aPXq0xo4dK09PT7tsFwAAqP4qHJTOnj2rSZMm6dChQ2rUqJEaNGig//3vf/rqq6/08ccfKyYmRrVr176mSURFRZXbHxAQoNdff73C9fz8/DRjxowKj69bt66mTJmiKVOmVPg1AADgxlfhoLRo0SJlZWVp8eLF6tq1q6V9z549mjZtmqKiohQREWGXSQIAAFSFCj8eYOvWrQoPD7cKSdKlBdcTJkzQ1q1bK31yAAAAVanCQamoqEj+/v42+/z9/XX27NlKmxQAAEB1UOGg1LJlS23bts1m39atW+3yeAAAAICqVOE1SqNGjdJLL72k0tJS3XPPPWrQoIFycnL0xRdfKDY2VlOnTrXnPAEAAK67Cgelu+++Wz///LNWrFihzz77TNKljxGpWbOmxo0bpyFDhthtkgAAAFWhQkHJZDIpLy9P48aN00MPPaT9+/fr7Nmzqlu3rtq3b6969erZe54AAADX3RXXKCUnJ+vBBx/UqlWrJEm1a9dWz5491b17dz3zzDMaM2aMUlJS7D5RAACA663coJSRkaGnn35aTk5O6tixo1Vf7dq1NWPGDLm4uGjixIk6ceKEXScKAABwvZUblN599135+vrq3XffVZ8+faz6atasqfvuu0/Lly9XnTp1tGLFCnvOEwAA4LorNyjt2bNHI0eOVK1atQzH1K1bVyNHjlRiYmKlTw4AAKAqlRuUcnJyDB8y+XsBAQHKysqqtEkBAABUB+UGJW9vb506deqKRXJzc7nzDQAA3HDKDUrdunWzPDOpPJ9//rkCAwMrbVIAAADVQblB6aGHHlJSUpLeeOMNFRcXl+m/cOGCFixYoN27d2vYsGF2myQAAEBVKPeBk+3atdPf/vY3zZs3T5s2bVL37t3VpEkTlZaW6uTJk0pMTNTZs2c1ceJE3XHHHddrzgAAANfFFZ/M/cADD6ht27Z67733tG3bNsuZJU9PT/Xo0UOjRo1Sp06d7D5RAACA661CH2HSuXNnzZ07V5J05swZubi4qHbt2nadGAAAQFWr8IfimnF3GwAAuFlc8bPeAAAAblYEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAMEJQAAAAOuVT2B8gQHB1do3OLFi9WtWzdJUmZmpu6//37DsUFBQVq6dKlV26lTpxQTE6OEhATl5OTIz89PAwcO1OjRo1WzZs1r3wAAAODQqnVQGjBggGHfsWPHtH//fnl5ecnf39/SnpKSIklq06aN2rRpU+Z1LVq0sPo+MzNT48aNU1ZWlgIDA9WuXTslJSUpOjpa33//vRYuXChX12q9mwAAgJ1U6wQQGRlps72oqEhjxoyRJL388stq1KiRpc8clB5++OFyg5bZ3LlzlZWVpfDwcI0bN06SVFhYqIiICO3atUurV6/WqFGj/uimAAAAB+SQa5QWLFigI0eOaPDgwbrzzjut+sxBqV27dlesk5GRofj4eDVt2lRjx461tHt4eOill16Si4uLPvzww8qdPAAAcBgOF5QOHDigdevWydvbW08++WSZ/tTUVHl6eqp58+ZXrPXdd9/JZDKpT58+cna23hWNGjVSYGCgTp48qcOHD1fa/AEAgONwuKD0xhtvyGQyacKECapdu7ZV39mzZ/XLL7+oefPmWrlypcLCwtS3b1/de++9eu2113Tq1Cmr8eYA1Lp1a5vvZV7PdOjQITtsCQAAqO4cKijt2LFDP/zwg3x9fTVo0KAy/ebLbgcPHtSiRYvk7e2t22+/XaWlpVq7dq0efvhhZWRkWMZnZ2dLknx8fGy+n7k9Nze3sjcFAAA4gGq9mPtyK1eulCSFhYXZvBMtNTVVkhQQEKA33njDcjdcYWGhXn31VW3atEnTp0/Xf/7zH0u7JLm7u9t8Pzc3N0lSQUFB5W4IAABwCA4TlA4fPqxdu3apVq1aGjJkiM0xI0eOVGhoqLy8vFSvXj1Lu3lx9r59+3Tw4EH98MMP6ty5s2VdkpOTU7nvbTKZDPvS0tKuYWuuzF51YX/mY1dYUGi39ygtvehwtR1xzpJ08Mf9umvCVLvUbl6nhl6cOMYutW9G/N50XFV97Nq2bWvY5zBB6auvvpIkhYaGysPDw+YYFxcXq2cq/Z67u7u6deumuLg4HTx4UJ07d7bUKS4utvkac7vR+0nl79xrlZaWZpe6sL/fHzsPT+N/N3+Ui4v9rprbq7YjzlmSfnWrpT29nrJLbY99S/lZryT83nRc1f3YOcwapc2bN0uS+vfvf801GjRoIOnSc5gkqWHDhpKknJwcm+OvtIYJAADc2BwiKGVmZurQoUOqVauWunfvbjhu6dKlmjZtmtLT0232nzhxQpLk6+sr6dJaJkmGt/8fPXpUkvFdcQAA4MbmEEFp//79kqSOHTuW+3Ei6enp+uabbyyX6X4vNzdXCQkJcnV1tXwuXM+ePSVJ3377rS5etF7j8Msvvyg1NVWNGze2BCoAAHBzcYig9NNPP0mSOnToUO448yLv999/X0lJSZb2goICzZ49W/n5+Ro0aJDlUpq/v7969uypjIwMRUdHW8ab75IrLS1VWFhYZW8OAABwEA6xmNt8ycxoobZZjx49FBYWppUrVyo8PFy33nqr6tWrp3379unMmTPq0qWLnn76aavXPP/88xo/fryWL1+ubdu2qUWLFkpOTlZ2drZ69eqlBx980G7bBQAAqjeHCEqnT5+W9NvaovI888wz6tSpkz788EOlpqaqtLRUzZo10+jRozVy5Mgyl+78/f21YsUKRUdHa8eOHTp27JiaNGmi4cOHa8SIEeVe6gMAADc2h0gBixcvvqrx/fv3v6q74/z8/DRjxoyrnRYAALjBOcQaJQAAgKpAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADBAUAIAADDgWtUTqIgNGzZo1qxZhv1jx47VpEmTLN8fOHBAMTExOnDggAoLCxUQEKDhw4drwIABNl+fkZGhpUuXat++fTp79qyaNWumwYMHa+jQoXJ2JksCAHCzcoiglJKSIkm64447VL9+/TL9t9xyi+X/ExIS9Oyzz8pkMum2226Tu7u7du/erRkzZujw4cN6/PHHrV6bmpqq8PBw5efnKygoSB06dFBiYqLmz5+v/fv3KzIy0r4bhyr1VOQ8HcrJr7R6hQWF8vD0kCSlHf2f1KXSSgMAqoBDBKXU1FRJ0vTp0+Xr62s4rqioSDNnzpQkLVy4ULfffrsk6dixY5o4caJWrFih0NBQtW/fXpJkMpk0a9Ys5efn6+WXX9bAgQMlSadPn9bkyZO1ceNGhYSE6K677rLn5qEKHcrJ1/YuE+xSu076i3apCwC4fhziulJqaqq8vb3LDUmSFBcXp9zcXA0YMMASkiSpadOmeuKJJyRJq1evtrQnJCQoPT1d3bp1s4QkSapfv76mTp1aZjwAALi5VPugdPz4ceXl5VnOApVn586dkqR+/fqV6evTp49cXFwsY640PigoSN7e3kpKSlJ+fuVdmgEAAI6j2gcl82U3b29vzZs3Tw888ID69OmjoUOH6p133lFxcbFl7OHDhyVJrVu3LlOnVq1a8vHx0enTp5WTk2M1PiAgwOZ7N2/eXBcvXtSRI0cqdZsAAIBjqPZBybyQ+7PPPtMXX3yhgIAAdezYUVlZWYqOjtbkyZNVVFQkSZYA5OPjY7OWuT03N/eaxgMAgJtLtV/MbQ5K/fv31/Tp0+XhcemOohMnTigiIkLJycmKiorSM888o8LCQkmSm5ubzVrmdvM481d3d/dyxxcUFFTS1gAAAEdS7YPS66+/ruPHj6tZs2aqUaOGpb1JkyaaOXOmRo8erbVr1+qJJ56Qs7OzTCaTnJycbNYymUxWX83PSLrS+PKkpaVd1fZUlL3qwlphQaHdapeWXqT2dajryLULCwr5Wa9E7EvHVdXHrm3btoZ91T4oubm5Ga4huuWWW+Tr66vMzExlZGTIw8NDeXl5Ki4utnlW6cKFC5JkOStl/vr7dU62xhudcZLK37nXKi0tzS51UZb5mUf24OJivyvbjljbEeds79oenh78rFcSfm86rup+7Kr9GqUradCggaRLYce8psi89uhy2dnZVq9p2LBhhcYbrWECAAA3tmodlPLz8/Xaa69p2rRpKikpsTnmxIkTki6FHvPdbrbuUjt//ryys7NVv359S1Ayn6myNd5kMikjI0MuLi5q1apVpWwPAABwLNU6KHl6emrLli365ptvtGfPnjL9O3fu1JkzZ9SmTRs1bNhQPXv2lCRt3bq1zNj4+HiVlpaqV69elrbyxicnJ+v06dMKCgqSl5dXZW0SAABwINU6KDk5OWnw4MGSpDfeeEOnTp2y9B07dkxz5syRdOlDcSUpNDRU3t7eio2N1fbt2y1jjx8/rn/9619ycnJSWFiYpb1r164KCAhQQkKC1q5da2k/ffq0pfaoUaPst4EAAKBaq/aLuR999FHt3btXSUlJGjZsmIKCgiRJiYmJunDhgsLCwnT33XdLuvRQyb///e+aOnWqnnvuOXXt2lWenp7avXu3ioqKNGnSJKsFY87Ozpo+fbomT56s1157TevXr5ePj4/27Nmjc+fOafDgwerbt2+VbDcAAKh61T4oubu7a9GiRVq5cqU2btyoxMRE1ahRQ506ddLw4cMVGhpqNf7OO+9UdHS0YmJitH//fplMJrVp00ZhYWHq379/mfodO3bUsmXLtGTJEn3//fc6dOiQmjVrpscff1yDBg26XpsJAACqoWoflCSpRo0aGjNmjMaMGVOh8bfeeqvefvvtCtcPCAjQ66+/fq3TAwAAN6hqvUYJAACgKhGUAAAADBCUAAAADBCUAAAADBCUAAAADBCUAAAADDjE4wEA4EaUnnJQ9z09yy61Wzfw0tszIuxSG7iZEJQAoIoUurhre5cJ9im+b6l96gI3GS69AQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGCAoAQAAGHCt6gngxvFU5Dwdysm3S+3WDbz09owIu9QGAMAIQQmV5lBOvrZ3mWCf4vuW2qcuAADl4NIbAACAAc4owSGkpxzUfU/PqvS6aUf/J3Wp9LIAgBsEQQkOodDF3S6X9eqkv1jpNQEANw4uvQEAABggKAEAABggKAEAABggKAEAABggKAEAABggKAEAABjg8QA3GXt+zAjPJAKqD3s9e4yPE8LNhqB0k7Hnx4zwTCKg+rDXs8f4OCHcbLj0BgAAYICgBAAAYICgBAAAYICgBAAAYICgBAAAYICgBAAAYICgBAAAYICgBAAAYMAhHjhZWlqqTz75RJ9//rmOHj2qixcvqkmTJrrnnnv017/+VW5ubpaxe/fuVXh4uGGtAQMGKDIy0qotIyNDS5cu1b59+3T27Fk1a9ZMgwcP1tChQ+XsTJYEAOBmVe2DUmlpqf72t79p+/bt8vT0VKdOneTq6qr9+/crOjpa27dv16JFi+Tu7i5JSk1NlSTdeuutatKkSZl6t956q9X3qampCg8PV35+voKCgtShQwclJiZq/vz52r9/f5lQBQAAbh7VPiitW7dO27dvV5s2bfTWW2/J19dXknTmzBlNmTJFP/zwg9555x1NnjxZkpSSkiJJevLJJxUUFFRubZPJpFmzZik/P18vv/yyBg4cKEk6ffq0Jk+erI0bNyokJER33XWXHbcQAABUV9X+ulJsbKwk6bnnnrOEJEmqV6+epk6dKknatGmTpT0lJUXOzs665ZZbrlg7ISFB6enp6tatmyUkSVL9+vUttVevXl0p2wEAABxPtQ9K9erVU8uWLdWxY8cyfc2bN5ckZWdnS5J+/fVXHTlyRC1atJCHh8cVa+/cuVOS1K9fvzJ9QUFB8vb2VlJSkvLz8//IJgAAAAdV7S+9LViwwLDvwIEDkmQ503To0CGVlJSoSZMmWrx4sTZv3qyTJ0/K29tbd911lx599FHVrl3b8vrDhw9LkgICAmzWb968uXJzc3XkyBF16tSpsjYJAAA4iGp/RsmIyWTSkiVLJEmhoaGSfluftH37dn3wwQfy9/dXUFCQ8vLy9P7772vs2LE6ffq0pUZOTo4kycfHx+Z7mNtzc3Ptth0AAKD6qvZnlIwsWrRIe/bskbe3t0aPHi3ptzveunbtqn/84x+qX7++pEsLv1988UXt3r1br7/+uubMmSNJKiwslCTLHXOXMz92oKCgwHAeaWlplbNB16luYUGhXepKUmnpRYer7YhzdtTajjhnapdVWFBot99Pf1R1nReurKqPXdu2bQ37HDIoRUdH691331XNmjX12muvWQLRs88+q4ceekg+Pj7y8vKyjK9Xr55mzZqloUOHasuWLcrOzpaPj4/lGUlOTk4238dkMl1xLuXt3GuVlpZml7qS5OF55bVb18rFxX4nKO1V2xHn7Ki1HXHO1C7Lw9PDbr+f/gh7/t6EfVX3Y+dQQamkpETz5s3TmjVr5Obmpjlz5qhr166WfldXV7Vo0cLmaxs2bKjAwEDt27fv/9u7/7Aq6/uP409+iYAmIEWJihycvxNTa9Ppps7t0qCBZnNq4OXUSw0Tl3lZLVPZUjNtlV1OEMt0c1fqJm5W9svNTBkKDlAJGf6gtAQBDywQUDzfP/yeswhu4BSHA/J6XJfXpefzOfe5j2/v2xf3/bk/H3Jychg1apRtwHdVVVW976murgaMrzg544ndiAAAFblJREFUyvOb3+TKDceU5j8XPochDtm0iIjIbafNBKWKigqefvppUlJS6Ny5My+++GKtkNQUXbt2BaCyshK4FZ5yc3MpLi6mV69edfpbn6YzGsPkKJ+VXefEyAUO2fYdeb9xyHZFRERuR21iMHdZWRnz588nJSWFwMBAEhMT6w1J69evZ+nSpYaDr7/44gvgf0/JWZ92O3/+fJ2+FouF/Px83NzcCAkJaa6vIiIiIm1Iqw9K169fZ/HixeTk5BASEkJSUhKhoaH19s3KyuLQoUMcPny4TtvZs2fJzc2lS5cu9O/fH4ARI0YAcOjQoXq3dfXqVcLCwmqNdxIREZH2o9UHpYSEBE6dOkVgYCCbN28mMDDQsO+kSZMA+MMf/sCFCxdsr1+9epX4+HhqamqIjo7Gw8MDuPV0nMlkIjU1leTk5Fr9rU/GzZgxwwHfSkRERNqCVj1GqbS01LaEiJ+fH7///e8N+8bHxxMZGUlqaioHDx5kxowZDBkyBC8vL9LT0ykvL2f8+PG1go+rqyvLly8nNjaW1atX87e//Y2AgABOnDhBWVkZUVFRjB492uHfU0RERFqnVh2UsrOzbU+k5eTkkJOTY9g3Pj4eV1dX1qxZw969e9m3bx9ZWVm4urpiMpmIjIwkMjKyzlQAAwcO5PXXXycxMZG0tDTOnj1Ljx49eOyxx4iMjHTo9xMREZHWrVUHpREjRnDs2DG73uPi4sLkyZOZPHlyk99jMplYu3atvbsnIiIit7lWP0ZJRERExFkUlEREREQMKCiJiIiIGFBQEhERETGgoCQiIiJiQEFJRERExICCkoiIiIiBVj2PkoiItC55Z3IIj1vpkG2HdvXh1eeWOmTbIt+WgpKIiDTZNbeOHBky1zEbz9jimO2KfAe69SYiIiJiQEFJRERExIBuvYmISKvwXcY/Xau4hpe3l2G7xj/Jt6WgJCIirYLGP0lrpFtvIiIiIgYUlEREREQMKCiJiIiIGFBQEhERETGgoCQiIiJiQEFJRERExICCkoiIiIgBBSURERERAwpKIiIiIgYUlEREREQMKCiJiIiIGFBQEhERETGgoCQiIiJiwN3ZOyAiIuJoeWdyCI9b6ZBth3b14dXnljpk2+J8CkoiInLbu+bWkSND5jpm4xlbHLNdaRV0601ERETEgIKSiIiIiAEFJREREREDCkoiIiIiBhSURERERAzoqTcREZHvwFFTDxTm53FXcO9m3y5oSgN7KCiJiIh8B46aeuCOvN/wH01p4HS69SYiIiJiQEFJRERExICCkoiIiIgBBSURERERAxrMLSIi0s5okeCmU1ASERFpZxy5SHDeW0vsCmHXKq7h5e3VpL7OCGEKSiIiItJsHBnCnDGtgYLS1xw7dow33niDvLw8bty4Qb9+/YiJiWHEiBHO3jURERFxAg3m/n/79+9n4cKFnDx5koEDBzJo0CAyMzOJi4tj7969zt49ERERcQJdUQKKiopYu3YtnTp1YsuWLYSGhgKQnZ1NbGwsL730Ej/84Q+56667nLynIiIi0pJ0RQnYtWsX1dXVTJs2zRaSAAYMGEB0dDRVVVUkJyc7cQ9FRETEGRSUgJSUFAB+/OMf12kbM2YMAEePHm3JXRIREZFWoN0HJYvFwvnz53F1dSUkJKROe8+ePXF1deXcuXNYLBYn7KGIiIg4i4vZbG7X//uXlpby05/+FD8/P9577716+0yYMIGSkhIOHjxIp06dWngPRURExFna/RWlyspKADp27GjYx9PTE4Br1661yD6JiIhI69Dug5KLi0ujfay33HTrTUREpH1p90HJ29sbgKqqKsM+1dXVAHh5NW2KdREREbk9tPug5OPjg7e3N6Wlpdy4caNO+40bNzCbzXh6etK5c2cn7KGIiIg4S7ufcNLFxYWQkBBOnz7NZ599hslkqtWen5/P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U6bUagsODuaJJ55g5syZnDt3rklBqVOnTgQFBfH888/X2x4cHNws+x0QEEBRUVG9bQUFBQB07dq1WT5LRBxDg7lFpNULCAjA09OT3bt3U1FRUafdOkeSUUhyda19qhs2bBiFhYV06dKFAQMG2H79+9//JikpqU7/b2vo0KF8+umnXLx4sU7bRx99hKurK/fdd1+zfJaIOIauKIlIq+fm5sayZctYunQp0dHRPPLII5hMJq5fv056ejq7d+/m4YcfxmQy1fv+zp07YzabOXz4MPfeey8RERHs2bOHhQsXMnPmTLp160Z6ejrbt28nPDy80dthBQUFZGRk1Nvm4eHBwIEDAfjFL37Bvn37mD9/PtHR0ZhMJqqqqjh27Bi7d+9m6tSpBAUFfbe/HBFxKBez2awFkESkTcjNzWXHjh1kZmZSUlKCu7s7oaGhREVFERERYRsY/c0lTPLz81myZAmXL1/m2WefZcKECZjNZjZt2sTHH3/MV199RWBgIOHh4cTExDS4fEhjS5j4+/tz4MAB259LSkrYunUrR48epaioiA4dOhAcHExUVBQ///nPa71XS5iItD4KSiIiIiIGNEZJRERExICCkoiIiIgBBSURERERAwpKIiIiIgYUlEREREQMKCiJiIiIGFBQEhERETGgoCQiIiJiQEFJRERExMD/Af4F+v3+XefGAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Histogram Plot of Site EUI\n", + "\n", + "figsize(8, 8)\n", + "plt.hist(data['Site EUI (kBtu/ft²)'].dropna(), bins = 20, edgecolor = 'black');\n", + "plt.xlabel('Site EUI'); \n", + "plt.ylabel('Count'); \n", + "plt.title('Site EUI Distribution');" + ] + }, { "cell_type": "code", "execution_count": null,