{ "cells": [ { "cell_type": "markdown", "id": "05596a9b", "metadata": {}, "source": [ "# 슈떼 분석 - 복습" ] }, { "cell_type": "code", "execution_count": 2, "id": "0c5a75cf", "metadata": {}, "outputs": [], "source": [ "# 기본적으로 필요한 라이브러리 로딩\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "from numpy.polynomial.polynomial import polyfit\n", "\n", "\n", "# 자주 사용할만한 사용자 정의 함수 정의\n", "\n", "# define random jitter\n", "def rjitt(arr):\n", " stdev = .01*(max(arr)-min(arr))\n", " return arr + np.random.randn(len(arr)) * stdev\n", "\n", "def rjitt5(arr):\n", " stdev = .07*(max(arr)-min(arr))\n", " return arr + np.random.randn(len(arr)) * stdev\n", "\n", "# custom min max scaler\n", "def mnmx_scl(vec):\n", " vec = (vec-vec.min())/(vec.max()-vec.min())\n", " return(vec)\n", "\n", "\n", "import warnings\n", "# 경고 메시지 숨기기\n", "warnings.filterwarnings('ignore')\n", "\n", "\n", "\n", "# 데이터를 불러올 기본 위치 지정\n", "\n", "# local data path\n", "# dataPath = 'D:/YONG/myPydata/' # 생성위치는 사용자 지정\n", "dataPath = 'C:/Users/kofot/fashionRetailAnalysisPy_4a-20230629T052521Z-001/fashionRetailAnalysisPy_4a/' # 생성위치는 사용자 지정\n", "\n", "\n", "import matplotlib.font_manager\n", "\n", " \n", "# matplotlib 에서 한글을 표시하기 위한 설정\n", "font_name = matplotlib.font_manager.FontProperties(\n", " fname=\"c:/Windows/Fonts/malgun.ttf\" # 윈도우즈의 한글 폰트 위치를 지정\n", " ).get_name()\n", "matplotlib.rc('font', family=font_name)\n", "\n", "matplotlib.rcParams['axes.unicode_minus'] = False # 음수를 나타내는 '-' 부호가 정상 표시되도록\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "6024758e", "metadata": {}, "outputs": [], "source": [ "# 판매내역 테이블 불러오기\n", "sales = pd.read_csv(dataPath + 'brk_salesmast01.csv', encoding='euc-kr')\n", "sales = sales.drop(sales.columns[0], axis=1)\n", "\n", "# 상품 테이블 불러오기\n", "itemmast = pd.read_csv(dataPath + 'brk_itemmast01.csv', encoding='euc-kr')\n", "itemmast = itemmast.drop(itemmast.columns[0], axis=1)\n", "\n", "# 고객 테이블 불러오기\n", "custmast = pd.read_csv(dataPath + 'brk_custmast01.csv', encoding='euc-kr')\n", "custmast = custmast.drop(custmast.columns[0], axis=1)\n", "\n" ] }, { "cell_type": "code", "execution_count": 30, "id": "dfb3545c", "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", "
lcatscatsexage
meancount
0남성캐주얼바지F35.3367521170
1남성캐주얼바지M35.2513491297
2남성캐주얼셔츠F35.3166571699
3남성캐주얼셔츠M35.4719331924
4남성캐주얼재킷F35.311453716
\n", "
" ], "text/plain": [ " lcat scat sex age \n", " mean count\n", "0 남성캐주얼 바지 F 35.336752 1170\n", "1 남성캐주얼 바지 M 35.251349 1297\n", "2 남성캐주얼 셔츠 F 35.316657 1699\n", "3 남성캐주얼 셔츠 M 35.471933 1924\n", "4 남성캐주얼 재킷 F 35.311453 716" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 슈떼 고객층과 인기상품 분석\n", "\n", "# sales 데이터프레임에서 브랜드명이 'S'로 시작하는 행을 선택하고, \n", "# 필요한 열을 선택하여 새로운 데이터프레임을 생성합니다.\n", "dfSa1 = sales[sales.brand_nm.str.slice(0, 1) == 'S'][['brand_nm', 'lcat', 'scat', 'cust_id']].merge(custmast, how='left', on='cust_id')\n", "\n", "# 데이터프레임 dfSa1에서 필요한 열만 선택하여, 고객의 연령(age)과 성별(sex)에 대한 평균과 개수(count)를 계산합니다.\n", "dfSa2 = dfSa1[['lcat', 'scat', 'age', 'sex']].groupby(['lcat', 'scat', 'sex']).aggregate(['mean', 'count']).reset_index()\n", "\n", "dfSa2.head()" ] }, { "cell_type": "code", "execution_count": 31, "id": "c12b919c", "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", "
lcatscatsexmean_agecnt
6여성캐주얼바지F35.3542687579
8여성캐주얼셔츠F35.5698723764
12여성캐주얼치마F35.7610532013
3남성캐주얼셔츠M35.4719331924
2남성캐주얼셔츠F35.3166571699
1남성캐주얼바지M35.2513491297
0남성캐주얼바지F35.3367521170
14코트코트F35.189937795
5남성캐주얼재킷M35.591969772
4남성캐주얼재킷F35.311453716
\n", "
" ], "text/plain": [ " lcat scat sex mean_age cnt\n", "6 여성캐주얼 바지 F 35.354268 7579\n", "8 여성캐주얼 셔츠 F 35.569872 3764\n", "12 여성캐주얼 치마 F 35.761053 2013\n", "3 남성캐주얼 셔츠 M 35.471933 1924\n", "2 남성캐주얼 셔츠 F 35.316657 1699\n", "1 남성캐주얼 바지 M 35.251349 1297\n", "0 남성캐주얼 바지 F 35.336752 1170\n", "14 코트 코트 F 35.189937 795\n", "5 남성캐주얼 재킷 M 35.591969 772\n", "4 남성캐주얼 재킷 F 35.311453 716" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 데이터프레임의 열 이름을 재설정합니다.\n", "dfSa2.columns = ['lcat', 'scat', 'sex', 'mean_age', 'cnt']\n", "\n", "# 고객 수(count)를 기준으로 내림차순으로 정렬하고, 가장 많은 고객 수를 가진 10개 항목을 선택합니다.\n", "dfSa2_sorted = dfSa2.sort_values('cnt', ascending=False).head(10)\n", "\n", "dfSa2_sorted" ] }, { "cell_type": "code", "execution_count": 32, "id": "7eec5331", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 가장 많은 고객 수를 가진 10개 항목에 대한 가로 막대 그래프를 그립니다.\n", "\n", "# 테이블 보던것과 순서를 반대로 하기 위해서\n", "# 뒤집어줌\n", "dfSa2_sorted1 = dfSa2_sorted.sort_values('cnt')\n", "\n", "# 뒤집은 것으로 막대챠트 생성\n", "plt.barh(dfSa2_sorted1.lcat + \"_\" + dfSa2_sorted1.scat + \"_\" + dfSa2_sorted1.sex, dfSa2_sorted1.cnt, color='skyblue')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 34, "id": "3ba92d69", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1EAAAIiCAYAAAApREJxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPMElEQVR4nO3deVxV9b7/8TeIIKACgoAIgnOz5ICapamc9Fy1TDNzyCFPVFjikHW0/HU0TnqatDLKytSyIw5NanZzwKGM0gpSj+GApCSSiDIpIsP+/eF1n3aMCzZshtfz8diPy/6u7/quz9J1br75rvVddiaTySQAAAAAQIXY27oAAAAAAKhLCFEAAAAAYAAhCgAAAAAMIEQBAAAAgAGEKAAAAAAwgBAFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAFBB+fn5+uabb5SXl1fpMT766CM98cQTVqwKsK3p06fr3//+t63LqJKsrCy9/PLLunTpkq1LAVBHEKIAQNK5c+cUFhYmHx8fOTs769Zbb9WHH35o0Sc9PV133HGHzpw5U2z/O++8U3Z2dsU+kyZNsuiXnJysgwcPGqrtvffe03XXXVdmH19fX23evNnQuEBZBg8eXOI1bWdnp/j4eHO/+Ph4nTp1ynaFlmHDhg0KCgoq1r5r1y41bdrU/P38+fOaPXu2srKyarA6AHWZg60LAABby8rK0h133KH27dtr8+bN8vHx0Y4dOxQREaFffvlFffv2lSRduHCh1DE2b96sgoICi7aZM2eqqKhIJpNJhYWFkqSioqLqO5FSjB8/Xh999FGF+t544406dOhQNVdUs5566inFxMTohx9+sFkNv/76q9q2bau4uDgFBwfbrA4j1q1bpytXrli0bd++XZMnT1bnzp0rPa6dnZ0+/fRTDR8+vIoVVo3JZFJCQoIk6fTp0zatBUDdQ4gC0OAtWbJEjRo10ueff65GjRpJkiZPnqyWLVtq2LBhWr9+vZycnIqFpD/642+1r3F0dNTly5f18ccfa9SoUeb2fv36Ga7xyJEjsrOzM7yfJL3zzjtaunRphfpeO/+Kevfdd7VixQp98803OnXqlNq2bWve5ujoKE9PTwUHB2v06NEaN26cHBxq/j87QUFBuuGGGyzaPvnkE3Xu3Fk33nhjlcdfuXKlJk+ebP7u7e2tLl266NlnnzUH8Ko4deqUdu7cqYkTJ0qSUlJS1L17d23bts0q9ZemefPmxdq2bt2qQYMGydnZudqOWxk7duyQs7OzbrvttmLbioqKlJGRYdGWk5OjS5cu6frrr6+hCgHUN9zOB6DB27p1q+6///5iAWLo0KFyd3fXO++8o0OHDmnXrl2ljpGTk6OMjAyLz7Xf4t96661644039MYbb+juu++uVI0dOnRQWlpaqR9vb+9S93VxcZG7u7sOHTqkzz77TO7u7haf2NhYbdu2Te7u7mrWrFmFa0pOTtbcuXO1cuVK2dv/9z8nX3zxhZKSknTw4EF99NFH6tq1q2bMmKF+/frZ5Hap8PBwffDBBxZtI0eO1LFjx6x2jGbNmikpKUknTpzQp59+qnbt2ql///7atm1blcd+//33tXjxYvN3Pz8/LVq0SBMmTJDJZKry+BV18OBBrV69WrNnzy62raCgQJcvXy42c1VTpkyZon379pW4LTk5WR4eHhafYcOGydXVVfn5+crPz9fx48druGIAdR0hCkCDl5WVJS8vrxK3eXl56ffffy93jKFDhxb7h9qKFSskSe3bt9fjjz+uxx9/XL17965UjY0aNZKXl1epn4rMUsXFxem9994r1v7ZZ5/pq6++MlzTK6+8orvvvludOnWyaPfz81NQUJA6deqk/v37KzIyUj///LOSk5P1+OOPGz5OXWBvb6+goCC1bdtWt912m95++20NHDhQb775ZrUcb/z48crOztamTZuqZfw/O3/+vEaNGqW//e1v6tOnT7Ht8+bNk7Ozs7p27Voj9RgRGBgok8lk8dm5c6eKiop06NAhHTp0SEeOHLF1mQDqGEIUgAYvKChIhw8fLtZ+8eJFnTx50uIWtbIsXLiw2D/WVq5cqa1btyo0NFShoaFavnx5pWq8djtfaZ+KBD1XV1dlZ2cXa8/Ozparq6uhevLy8vT+++9r2rRpFeofEBCgl19+WR999JFFrampqRo3bpzc3d3VvHlzjR49WmlpaebtK1eulLu7u3799Vf99a9/laurq9q3b693333XYvzDhw9r2LBh8vDwULNmzTRkyBDztunTp+vOO++UJP3jH/8wB857771XdnZ2Wrlypa6//voSV02cOXNmibeIVUSXLl1KXITkj959910FBwerSZMm8vDw0MiRIy1mRezs7DR//nz9/PPPsrOzMy+SYG9v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dPX8HnnkkRJX7DN6Xp06ddIXX3yhQ4cOaebMmbrjjjt0/Phxi5nE8gwfPlyPPfaYYmJidOHCBfn5+ZW4El1J7O3ty3z+6c88PDwsguIfpaammoNCeTIzM8tdlt7Nza3SM0WLFy8u938PlXnO75pmzZrpypUrOn/+fIm/iFi+fLliYmJ04sQJc7jZsmWL3n//fUPHmTt3rp588slSt6ekpFTpBcIAGh5CFAD8n9OnT+vy5culbvf09NTXX39d6m1sp06d0q233qq77rpLb731lm666Sa5ubnp8uXL+v333xUTE6NZs2YpPj5eL774YoXriomJUXx8fLEFF2zJ29tbcXFxFe6/e/duLViwQKtXrza/j+v222/XDz/8oM6dO1vt+ZSbbrpJ69atk4eHh+Lj40udWXRwcDAH3GuaNGmiBx54QGvXrlVaWpoeeughq9RUkgEDBignJ0dr1661uKUvLy9Pn3zyicLCwsxtjRs3LlbrNWfPni3zHWFVdW25/rJU5Xm93r17y8nJSStXrtTMmTOLbT948KBuvvlmi9mhkt69VdafkXQ15Jb1omejL5kGAEIUAFRQ48aNdfvtt5e6fdeuXcrJydEHH3xgcfvZtYff27dvr/T0dK1YscJQiPqza8/SlDcDER8fr1tvvbXMPqWFlxUrVmjSpEml7te9e3e99dZbJW5LSUmRu7u7Ll++rKSkJH3yySdas2aNlixZohEjRpj7TZ8+XV26dNHYsWM1depUubu76/Dhw/rwww8Nvf/ou+++0/r163XvvffKy8tLa9euVfPmzctcObBjx45at26dbr75ZjVt2lRt2rSRdPWWvqFDh+ry5cvFbjO0puuuu06PPvqopkyZotTUVPXv319paWn65z//KVdXV0VERFjUevz4cX311Vdq2bKl+V1MiYmJyszM1C233FJtdVY3Ly8vPfPMM5ozZ44uXryooUOH6tKlS/rggw+0bNkyBQcHa/ny5VqzZo1uvvlmbdq0SVu3bi02TseOHbVx40YNGTJETZo0UYcOHSy2R0ZGVuh2PgCoKEIUAPxBbm5umQtISP8NRX927T03Y8aM0aOPPqobb7xRzZs315UrV5Samqqvv/5ar7/+uiZPnmy4rvz8fJ07d878fenSpZJk0ebo6GjxoP3NN99c6spk5SkvoN12221KS0tTQkJCsdvYri0F7+zsrDZt2ig0NFRxcXHq2LGjRb/AwEDt3r1bs2fP1qBBg+Tk5KTrrruuxPc1lcXHx0c//vij3n33Xdnb26t79+7atm1bmbcELlmyRGFhYerRo4fWrl1rDlE9e/aUp6enrrvuump/Nmbp0qVq3769oqKiNHv2bLVo0UL33HOP1q1bZ/Hnf++99+ree+/ViBEj1K1bN+3Zs0eStHXrVvXu3btSy4rXJvPmzZOvr69ee+01RUZGytPT03wNTZkyRQkJCYqIiNDly5c1YsQIvfLKKxYLjUjSP//5T40bN049evTQ4sWLi4Uo6ers39q1a8usxcXFxXonBqB+MwEATCaTyfTII4+YJJX7eeaZZ0odIzk52TRz5kxTcHCwqXnz5iZ7e3uTo6Ojyd/f3zR06FDTunXrDNf1zDPPVKiuQYMGVeX0DXv00UdNU6dOrdFjVrfc3FxTixYtTJ9//rmtSylTUVGR6cYbb6zU9WRt/fr1My1cuNDWZZTpueeeq9D/hp5++mlblwqgjrAzmUymGsprAIB6JCkpST179tT+/fvLXC67Lvnggw80b948JSYmlvkMja2tW7dOkZGRiouLs/nzPKdPn5arq6t5IRQAaAgIUQCASlu2bJnWrFmjmJiYKr0Ty9aOHj1qXgExMjKyzOfBbO33339Xt27dtGXLljr9PBQA1GWEKABAg/c///M/2r9/v2bOnKk5c+bYuhwAQC1HiAIAAAAAA+ruvRcAAAAAYAOEKAAAAAAwoPYuPVQDioqKlJKSombNmpX6wkkAAAAA9Z/JZFJ2drb8/PzKXSypQYeolJQUBQQE2LoMAAAAALVEcnKy/P39y+zToEPUtTfCJycnq3nz5jauBgAAAICtZGVlKSAgwJwRytKgQ9S1W/iaN29OiAIAAABQocd8WFgCAAAAAAwgRAEAAACAAYQoAAAAADCgQT8TBQAAAJTGZDKpoKBAhYWFti4FVtCoUSM5ODhY5dVGhCgAAADgT65cuaIzZ87o0qVLti4FVuTi4qJWrVrJ0dGxSuMQogAAAIA/KCoqUlJSkho1aiQ/Pz85OjpaZfYCtmMymXTlyhWlpaUpKSlJHTt2LPeFumUhRAEAAAB/cOXKFRUVFSkgIEAuLi62LgdW4uzsrMaNG+vkyZO6cuWKmjRpUumxWFgCAAAAKEFVZipQO1nr75QrAwAAAGhAFi5cqAsXLhjaJyEhQdu2bTN8rO3bt+vOO+80vF9pcnJytGjRIo0ZM0bTpk3TgQMHLLaPGzdO+/bts9rxSkOIAgAAAOqJgoKCcp/fevPNN5WZmVnitsGDB2vXrl3F2r/77jutWrXKoi0qKkr+/v7mT9OmTbVkyRJJUlBQkH799dcSj3H8+HH5+vpafOzs7OTt7W3Rtn37dov9Ll68qJ49e+rixYuKiIhQnz59NHLkSH3xxRfmPidPnqyRxUB4JgoAAACogMXbjtbo8Wb8pVONHk+6GlRycnIq1Dc8PFzh4eHm70OGDJG/v3+5+3Xo0EGpqanm719//bX69u2rJUuWaOzYsaXu9+677+q2227T888/L0nq1auXAgMD9dBDD2ngwIGSri4gUROYiQIAAAAamCeffFKTJk2ymJG6fPmyDhw4YJ6J+uCDD8yzQhEREWWOV1hYqAMHDqhbt26G6oiJidGkSZMUHR2tBQsW6NNPPy21b2JiooKDgy3agoOD9csvvyg4OFjBwcGKi4szdPzKIkQBAAAA9ZzJZFJ6erry8/MlSQ899JCmT58uV1dXc5+XXnpJY8aM0eeff674+HhNmDBBqampSk1N1WuvvVZszNGjR6tz585q3bq1+Xa+tm3bllvLsWPHtHr1avXv31+LFi3S1q1bNXr0aO3Zs0dr165VSEiIoqKitG/fPhUVFZn3u+WWW/T1119bjLVnzx51795dCQkJSkhIUNeuXSv7R2QIt/MBAAAA9Yyfn5/s7Oxkb29vfkbKw8NDGzZskCTdcMMNCgoKMvdftWqVtmzZopiYGB09elT33Xef3njjDQ0ePLjUYyxYsEAuLi7y9/fX2LFjFRISYrE9JiZGZ86cKbbfhg0bdPHiRb3yyisWocfb21vR0dE6duyY1q5dq+joaIsxJ02apI8++kiTJ0/WoEGDlJycrKioKK1Zs6ZSf0ZVQYgCAAAA6gkHBwfDzwVNmTJFiYmJ2rJli5ydndWlSxd98cUXGjdunDw8PNSzZ88S9+vcubOkq880fffdd3rvvfcstm/atEnZ2dnF9pszZ06Z9XTs2FHPPvtssfbGjRsrJiZGH3/8sX7++We1bNlSsbGx8vX1reipWg0hCgAAAGhA3nnnHXl7e5u/z5s3T23atLF4h1KnTp20f/9+83c/Pz/ddNNNxcZKSUnRhAkTtGzZMotbAyVp8eLFOn78uCIjI81tr776ql599dVi41y8eLHY/pI0YsQIvf766+bv9vb2GjVqlEaNGlXiuX3zzTcltlsbIQoAAACoZ3r06KHk5ORSt+/fv18uLi6SZHFb344dO/TGG2/ol19+UVFRkezt7eXp6amJEydq9uzZFmOcOHFCQ4YM0YwZM3TXXXdVqK6ZM2dq5syZxdrd3d0VHx8vLy+vcscYNWqUYmNjS9yWlpam3bt3q1evXhWqp7IIUQAAAEA9k5aWpu+++84iIF0TFBSkwsLCYu0bN25UeHi4Vq1apQEDBpifpTpy5IjCw8N18OBBLV26VNLVmaO77rpLTz31lMLCwqr1XP5s/fr1pW6r7vB0DSEKAAAAgLZs2aLx48eb37l0TefOnTVv3jxNnjzZHKJcXV116NAhNWnSpMbrvPPOO5WQkFDqsZ2cnKq9BkIUgBpRnS8otMXLCAEADU99/+/NkCFD9Oijj2rgwIEaOHCg+RmphIQEPf/88xo6dKhFf1sEqGuio6N155132uz4hCgAAACgHurRo4caNWpUrD0tLa3E/sOGDZOLi4tef/11PfbYYyosLJS9vb18fHw0YcIEPfzww9VdcoWNGDFCjo6OJW576KGH9MILL1Tr8QlRAAAAQD3z66+/Vmq/a7NQ1jp+69at1aNHj3L7b9++Xe7u7hUae9euXZUvzEoIUQAAAACqRePGjeXm5lZuv+7du9dANdZjX34XAAAAAMA1hCgAAAAAMIAQBQAAAAAGEKIAAAAAwABCFAAAAAAYQIgCAAAAGpCVK1dq/PjxhvZJSEjQtm3bDB9r+/btVn0pbk5OjhYtWqQxY8Zo2rRpOnDggMX2cePGad++fVY7XmkIUQAAAEA9kp+frxkzZsjb21stW7bU5MmTlZOTU6F9Bw8eXOJ7mL777jutWrXKoi0qKkr+/v7mT9OmTbVkyRJJUlBQUKnvqjp+/Lh8fX0tPnZ2dvL29rZo2759u8V+Fy9eVM+ePXXx4kVFRESoT58+GjlypL744gtzn5MnT+rSpUsVOteq4D1RAAAAQEXsXFizx+s/p1K7LViwQL/88ouOHj0qR0dHPfroo3rwwQc1a9YsSdKxY8dK3ffixYsVDlzh4eEKDw83fx8yZIj8/f3L3a9Dhw5KTU01f//666/Vt29fLVmyRGPHji11v3fffVe33Xabnn/+eUlSr169FBgYqIceesj8gmCTyVSh2quKEAUAAADUE1euXNFbb72luLg4ubu7S/rvjFFubq7c3d2VlJSkjh07Ftv38uXLOnDggHbt2qWhQ4fqgw8+0FNPPSVJys3N1bBhw0o9bmFhoQ4cOKBu3boZqjcmJkYPP/ywoqOj9dxzz8nZ2Vn33ntviX0TExMVHBxs0RYcHKxffvnF3H7q1ClDx68sbucDAAAA6olTp07Jx8dHAQEB5ramTZsqJCRETz75pKKjo/XYY4+VuO9LL72kMWPG6PPPP1d8fLwmTJig1NRUpaam6rXXXivWf/To0ercubNat25tvp2vbdu25dZ47NgxrV69Wv3799eiRYu0detWjR49Wnv27NHatWsVEhKiqKgo7du3T0VFReb9brnlFn399dcWY+3Zs0fdu3dXQkKCEhIS1LVr14r+UVUJM1EAAABAPZGenq4WLVoUa/f09NTZs2dL3W/VqlXasmWLYmJidPToUd1333164403NHjw4FL3WbBggVxcXOTv76+xY8cqJCTEYntMTIzOnDlTbL8NGzbo4sWLeuWVVyxCj7e3t6Kjo3Xs2DGtXbtW0dHRFmNOmjRJH330kSZPnqxBgwYpOTlZUVFRWrNmTZl/JtWBEAUAAADUE35+fiUGl9OnT5cYriRpypQpSkxM1JYtW+Ts7KwuXbroiy++0Lhx4+Th4aGePXuWuF/nzp0lXX2m6bvvvtN7771nsX3Tpk3Kzs4utt+cOWU/69WxY0c9++yzxdobN26smJgYffzxx/r555/VsmVLxcbGytfXt8zxqgMhCgAAAKgnWrduraKiIh04cEC33HKLpKsBKjY2VmFhYXJ0dFR2drb+8pe/mPeZN2+e2rRpI3v7/z7p06lTJ+3fv9/83c/PTzfddFOx46WkpGjChAlatmyZXF1dLbYtXrxYx48fV2RkpLnt1Vdf1auvvlpsnIsXLxbbX5JGjBih119/3fzd3t5eo0aN0qhRo0o8/2+++abEdmsjRAEAAAD1hL29vZ577jk98MADWrZsmZycnPTEE0/oySef1HPPPSdJ+vDDD7V7927zPkFBQeafd+zYoTfeeEO//PKLioqKZG9vL09PT02cOFGzZ8+2ONaJEyc0ZMgQzZgxQ3fddVeF6ps5c6ZmzpxZrN3d3V3x8fHy8vIqd4xRo0YpNja2xG1paWnavXu3evXqVaF6KosQBQAAANQjEydOVOPGjfX888+rsLBQDz74oKZOnSo7OztJV2+LK8nGjRsVHh6uVatWacCAAeb+R44cUXh4uA4ePKilS5dKujpzdNddd+mpp55SWFhYzZzY/1m/fn2p26o7PF1DiAIAAADqmbFjx5b5zqWSbNmyRePHjze/c+mazp07a968eZo8ebI5RLm6uurQoUNq0qSJ1WquqDvvvFMJCQmlHtvJyanaayBEAQAAANCQIUP06KOPauDAgRo4cKD5GamEhAQ9//zzGjp0qEV/WwSoa6Kjo3XnnXfa7PiEKAAAAKAi+pe9qlxdN2zYMLm4uOj111/XY489psLCQtnb28vHx0cTJkzQww8/bOsSzUaMGCFHR8cStz300EN64YUXqvX4hCgAAACgARkzZozuu+++Erddm4Wqql9//VXS1dUCe/ToUW7/7du3y93dvUJj79q1q/KFWQkhCgAAAGhAnJycauS5IenqIhZubm7l9uvevXsNVGM99uV3AQAAAABcQ4gCAAAAAAMIUQAAAABgACEKAAAAAAwgRAEAAACAAYQoAAAAADCAJc4BAACAeuSll17Sa6+9Vur21NRUHTp0SNddd525bfPmzRo1apQ8PT1L3e/kyZNq1KiRVWutqwhRAAAAQAVExUfV6PHCg8Mrtd/s2bM1e/bsUre3b9++xPaBAwdq8+bNlTpmQ8PtfAAAAEADYjKZbF1CncdMFAAAAFCPXblyRTk5OcrOzlZOTo7y8vJKvC1v+/bt8vX1LXGM++67T0uXLq3uUusMQhQAAABQT+Tm5qpnz57KysrSxYsXJUkuLi7y8PCQu7u7PDw8lJGRoSZNmhTbNzQ0lNv5KogQBQAAANQTzs7O+uyzz9S8eXO5u7urqKhImZmZatmypbmPu7u7XFxcbFhl3UeIAgAAAOqRdu3amX/+5ptv9OSTT+q7776TJBUUFCg3N1ctWrSw2MfZ2Vnx8fHy9/cvddxNmzbp1ltvrZ6i6xhCFAAAANBA5OXlacqUKbKzs7NoHzhwoH777TcbVVX32Gx1vtzcXIWFhSkwMFD+/v6aPXu2ioqKivWLi4tTr169FBgYqBtuuEFbt241b8vPz9e0adMUEBCgoKAgPfjgg8rIyKjBswAAAADqDldXV0VF1exS7fWRzWaiZs2apaKiIiUmJurixYsKDQ3V0qVLNW3aNHOf7OxsDRs2TCtXrlRoaKj27Nmju+++WwkJCfL19dWiRYt0+PBhJSQkyMnJSWFhYZo+fbpWrlxpq9MCAAAAbCI5OVk9evSwaMvPz1d2dnapq+59/PHHGjlyZIWP4efnp59++qlKddYHNglROTk5WrVqlU6dOiUHBwe5ublp7ty5WrBggUWIWrNmjXr06KHQ0FBJUt++fdWvXz+tXbtWERERiouL0/Dhw+Xq6ipJGjt2rKZPn26LUwLqBGu/JLCyLwEEAADWFxAQoNTUVMP7VWafhs4mIerHH39U27Zt5enpaW4LCQnRoUOHVFBQIAeHq2XFxsaqT58+FvuGhIQoPj5ekjR69GgtWbJE999/v1xdXfXWW29p3LhxpR43Ly9PeXl55u9ZWVlWPCsAAADUZ/zyENfY5JmolJQU+fj4WLR5e3uroKDAItiU1i89PV2SNGrUKAUEBMjPz0+enp767bffNGPGjFKPu3DhQrm5uZk/AQEBVjwrAAAAAA2BTUJUYWGhTCZTsTZJFiuFlNbvWp9Zs2bJ3t5e6enpunDhgnr16qUxY8aUetw5c+YoMzPT/ElOTrbWKQEAAABoIGxyO1+LFi107tw5i7a0tDQ5OzvLzc2t3H6+vr66dOmS3nzzTaWmppr3efXVV+Xl5aVjx46pY8eOxY7r5OQkJyenajgjAAAAAA2FTWaiunbtqiNHjujChQvmtr179yokJET29v8tqVu3bvr2228t9t27d6969+6toqIiFRYWmp+fkiR7e3vZ2dnpypUr1X8SAAAAABokm4QoX19fDR48WHPnzlVBQYHOnTunF154odjKeuPGjdOOHTsUExMjSdqyZYsSEhI0atQoNW3a1GKMoqIizZ8/X/7+/rruuutscFYAAACoT/78WAnqPmv9ndrsZbvLly9XSkqKWrVqpe7duyssLEzDhw/X6tWrFRERIUny9/dXdHS0wsPD5e3trcjISG3atMm8pPmHH36o3NxcdezYUW3bttXBgwe1efNmNWrUyFanBQAAgDqucePGkqRLly7ZuBJY27W/02t/x5VlZ2rAETsrK0tubm7KzMxU8+bNbV0OUO1s+Z6oxduOWvXYfzTjL52qbWwAQMN05swZZWRkyNvbWy4uLhaLn6HuMZlMunTpks6ePSt3d3e1atWqWB8j2cAmC0sAAAAAtZmvr68k6ezZszauBNbk7u5u/rutCkIUAAAA8Cd2dnZq1aqVvL29lZ+fb+tyYAWNGze22mM/hCgAAACgFI0aNeJ5exRjs4UlAAAAAKAuIkQBAAAAgAGEKAAAAAAwgBAFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMIAQBQAAAAAGEKIAAAAAwABCFAAAAAAYQIgCAAAAAAMIUQAAAABgACEKAAAAAAwgRAEAAACAAYQoAAAAADCAEAUAAAAABhCiAAAAAMAAQhQAAAAAGECIAgAAAAADCFEAAAAAYAAhCgAAAAAMcLB1AQCqYOdCY/0zDhjr3/YOY/0BAAAaAGaiAAAAAMAAQhQAAAAAGECIAgAAAAADCFEAAAAAYAAhCgAAAAAMIEQBAAAAgAEscQ7UMYu3HTX/3OtUuqF9k+1zy9we4O5cqZoAAAAaEmaiAAAAAMAAQhQAAAAAGECIAgAAAAADCFEAAAAAYAAhCgAAAAAMIEQBAAAAgAGEKAAAAAAwgBAFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMIAQBQAAAAAGEKIAAAAAwABCFAAAAAAYQIgCAAAAAAMIUQAAAABgACEKAAAAAAwgRAEAAACAAYQoAAAAADCAEAUAAAAABhCiAAAAAMAAQhQAAAAAGECIAgAAAAADCFEAAAAAYAAhCgAAAAAMIEQBAAAAgAGEKAAAAAAwgBAFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMIAQBQAAAAAGEKIAAAAAwABCFAAAAAAYQIgCAAAAAAMIUQAAAABgACEKAAAAAAxwsHUBAGqxpK/L3n4hs8JD9TqVbvH9uzZhlakIAADA5piJAgAAAAADCFEAAAAAYAAhCgAAAAAMIEQBAAAAgAGEKAAAAAAwgBAFAAAAAAbYLETl5uYqLCxMgYGB8vf31+zZs1VUVFSsX1xcnHr16qXAwEDdcMMN2rp1q8X21NRUjRkzRm3atJGfn5+eeuqpmjoFAAAAAA2QzULUrFmzVFRUpMTERP3nP//Rrl27tHTpUos+2dnZGjZsmCIjI3Xy5Em9/fbbuv/++5WamipJunz5skJDQ9WtWzclJSUpJSVF06ZNs8XpAAAAAGggbPKy3ZycHK1atUqnTp2Sg4OD3NzcNHfuXC1YsMAiBK1Zs0Y9evRQaGioJKlv377q16+f1q5dq4iICL377rtq3bq1nnzySfM+/v7+NX4+gCRFxUdZdbzw4HCrjgcAAADrsMlM1I8//qi2bdvK09PT3BYSEqJDhw6poKDA3BYbG6s+ffpY7BsSEqL4+HhJ0oYNG/TQQw/VSM0AAAAAINkoRKWkpMjHx8eizdvbWwUFBcrKyiq3X3p6uiTp4MGDys3N1e23366goCANGTJER48eLfW4eXl5ysrKsvgAAAAAgBE2CVGFhYUymUzF2iTJzs6u3H7X+mRnZ2vDhg1av369jh8/rr59+2ro0KHKz88v8bgLFy6Um5ub+RMQEGDN0wIAAADQANgkRLVo0ULnzp2zaEtLS5Ozs7Pc3NzK7efr6ytJ8vLy0syZM9WqVSs5ODjoqaee0vnz55WQkFDicefMmaPMzEzzJzk52cpnBgAAAKC+s0mI6tq1q44cOaILFy6Y2/bu3auQkBDZ2/+3pG7duunbb7+12Hfv3r3q3bu3JOnGG29Udna2eZudnZ3s7OzUpEmTEo/r5OSk5s2bW3wAAAAAwAibhChfX18NHjxYc+fOVUFBgc6dO6cXXnhB06dPt+g3btw47dixQzExMZKkLVu2KCEhQaNGjZIkPfbYY4qMjDQ/I/Xyyy+rQ4cO6tChQ42eDwAAAICGwyZLnEvS8uXLNWXKFLVq1Uqurq568sknNXz4cK1evVr79+/Xa6+9Jn9/f0VHRys8PFznz59Xhw4dtGnTJrm6ukqSRo4cqaNHj6pLly5q3LixunXrpk8++cTiuSoAAAAAsCabhSgvLy99/vnnxdrHjx+v8ePHm78PGjSo1GecpKvPOc2ZM6daagQAAACAP7PJ7XwAAAAAUFcRogAAAADAAEIUAAAAABhAiAIAAAAAA2y2sAQAoG6Jio+y+pjhweFWHxMAgOrGTBQAAAAAGECIAgAAAAADCFEAAAAAYAAhCgAAAAAMIEQBAAAAgAGEKAAAAAAwgBAFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMMDB1gUAAOqW2MR0q42Vl3bU4vuMv3Sy2tgAAFQXZqIAAAAAwABmooCdC60zTsaBktvb3mGd8QEAAFArMBMFAAAAAAYQogAAAADAAG7nA6pBckau+effKvkQ/p8fuAcAAEDtQIgCUO9FxUdZdbzw4HCrjgcAAOoWbucDAAAAAAMIUQAAAABgACEKAAAAAAwgRAEAAACAAYQoAAAAADCAEAUAAAAABhCiAAAAAMAAQhQAAAAAGECIAgAAAAADCFEAAAAAYAAhCgAAAAAMIEQBAAAAgAGEKAAAAAAwwMHWBQDAH/2UtdbwPlHxntVQCQAAQMkqNROVnp5u7ToAAAAAoE6oVIhq3769Jk6cqO+//97a9QAAAABArVapEPXrr7+qe/fueuSRR9S9e3e9//77unz5srVrAwAAAIBap1Ihyt3dXU888YTi4+P11ltvaf/+/brxxhv15JNP6vjx49auEQAAAABqjSqvztemTRu1b99eTZs21Y8//qj+/ftr7NixyszMtEZ9AAAAAFCrVCpE5eXlae3atfrrX/+qLl26KDU1VRs2bNDOnTt14sQJXX/99RozZoy1awUAAAAAm6vUEuc+Pj668cYb9cgjj+izzz6Tk5OTeVvjxo01b948tW7d2mpFAgAAAEBtUakQtXHjRvXt29eiraioSKmpqfLz85Mk7dmzp+rVAQAAAEAtU6kQNWnSJJ04ccKizd7eXgMGDFBCQoKkq8ugA6jfojIOVLhvsn2uxfffKvFSXQAAgNrAUIj69NNPlZ+fr5ycHK1bt85iW2JiIsucAwAAAKj3DIWo7du36/Dhw8rJydFbb71lsc3Dw0MffvihVYsDAAAAgNrGUIh68803JUkdO3bUzp07q6UgAAAAAKjNKrXE+bFjx6xdBwAAAADUCRWeiXr22WcVGRkpSQoPDy+1X1RUVNWrAgAAAIBaqsIh6uabbzb/7OPjUy3FAAAAAEBtV+EQNXr0aPPPzz33XLUUAwAAAAC1XaWeifr44491+vRpSdLly5c1depUTZgwQampqVYtDgAAAABqm0qFqGnTpsnLy0uStGDBAp06dUodOnTQo48+atXiAAAAAKC2MbTE+TXOzs5ycnLSpUuXtGLFCh08eFBeXl7q3LmztesDAAAAgFqlUiGqXbt2Wr58ueLj43XXXXfJy8tLJpNJGRkZVi4PAAAAAGqXSoWoN998U3/729/k5OSk1atXS5J27typfv36WbU4AAAAAKhtKhWiOnbsqN27d1u0DRgwQAMGDLBKUQAAAABQW1UqRElSUlKS4uLilJOTY9E+YcKEKhcFAAAAALVVpW/nmzVrloKDg+Xh4WFut7OzI0QBAAAAqNcqFaIWLVqk2NhY3XrrrdauBwAAAABqtUqFKEdHRwIUgNot6evqGzs4vPrGBgAAtV6lXrY7bNgwbdu2zdq1AAAAAECtV6mZqEuXLun+++9X37591bp1a4ttUVFRVikMAAAAAGqjSoWo1q1ba/r06VYuBQAAAABqv0qFqOeee87adQBAgxYVb91Z/HCe2wIAoNpU6pkoSdq8ebMmT56sESNGSLr63qjTp09brTAAAAAAqI0qFaJeeeUVzZs3T927d9f+/fslSZmZmXriiSesWhwAAAAA1DaVClHvvPOOdu3apalTp8rB4eodgcHBwTp06JBViwMAAACA2qZSIaqgoEBubm7F2i9fvlzlggAAAACgNqtUiOrTp48iIyMlSXZ2dpKuzk7ddNNN1qsMAAAAAGqhSq3O99prr+nee+/V+++/r9TUVHXt2lWXL1/W5s2brV0fAAAAANQqlQpRp06d0owZM3Tw4EEFBgaqXbt26tmzp/n5KAAAAACorwylnu3btyssLEw5OTnq2LGj8vPzdfjwYQ0dOlQ333yzmjdvXl11AgAAAECtUOFnov7zn//ogQce0D//+U+dPXtWe/fu1b59+3Tu3DnddNNNCg0N1ZUrV6qzVgAAAACwuQqHqFdeeUULFizQmDFjLNqbNGmiZ599VqGhoXrjjTesXiAAAAAA1CYVDlHffPONJk6cWOr2GTNmKDo62ipFAQAAAEBtVeEQlZ+fL1dX11K3t2zZUufPn7dKUQAAAABQW1U4RF17H1RZTCZTlYoBAAAAgNquwqvzZWRk6MUXXyyzT2ZmZpULAgAAAIDarMIh6p577tEvv/xSZp+77767ygUBAAAAQG1W4RC1YsWK6qwDAAAAAOqECj8TBQAAAAAgRAEAAACAITYLUbm5uQoLC1NgYKD8/f01e/ZsFRUVFesXFxenXr16KTAwUDfccIO2bt1a4njR0dGys7NTampqdZcOAAAAoAGzWYiaNWuWioqKlJiYqP/85z/atWuXli5datEnOztbw4YNU2RkpE6ePKm3335b999/f7GgVFhYqIULF9Zk+QAAAAAaKJuEqJycHK1atUr/+te/5ODgIDc3N82dO7fY4hVr1qxRjx49FBoaKknq27ev+vXrp7Vr11r0i4qK0h133FFj9QMAAABouCq8Op81/fjjj2rbtq08PT3NbSEhITp06JAKCgrk4HC1rNjYWPXp08di35CQEMXHx5u///bbb1qyZIn279+vN998s0bqB9BwJGfkFmtbvO2oVcae8ZdOVhkHAADULJvMRKWkpMjHx8eizdvbWwUFBcrKyiq3X3p6uqSrt/GNHTtWzz33nFq0aFHucfPy8pSVlWXxAQAAAAAjbBKiCgsLZTKZirVJkp2dXbn9rvX5xz/+IW9vb02YMKFCx124cKHc3NzMn4CAgKqcBgAAAIAGyCYhqkWLFjp37pxFW1pampydneXm5lZuP19fX8XExGj16tV65513KnzcOXPmKDMz0/xJTk6u2okAAAAAaHBsEqK6du2qI0eO6MKFC+a2vXv3KiQkRPb2/y2pW7du+vbbby323bt3r3r37q1ly5YpLS1N7dq1k7u7u9zd3SVJnTt3LrZAxTVOTk5q3ry5xQcAAAAAjLBJiPL19dXgwYM1d+5cFRQU6Ny5c3rhhRc0ffp0i37jxo3Tjh07FBMTI0nasmWLEhISNGrUKK1du1Y5OTnKyMgwfyTpyJEjmjx5cg2fEQAAAICGwmbviVq+fLlSUlLUqlUrde/eXWFhYRo+fLhWr16tiIgISZK/v7+io6MVHh4ub29vRUZGatOmTXJ1dbVV2QAAAAAaOJsscS5JXl5e+vzzz4u1jx8/XuPHjzd/HzRokBISEio05p8XoQAAAAAAa7NZiAIAlCLp66qPcSGz6mP8WcYBSZJ/VvF3Z13zW/Nu1j8uAAC1DCEKAGzkjy/t/Skr3fxzWSGlwtyrPgQAACiZzZ6JAgAAAIC6iBAFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMIAQBQAAAAAGEKIAAAAAwABCFAAAAAAYQIgCAAAAAAMIUQAAAABgACEKAAAAAAwgRAEAAACAAYQoAAAAADCAEAUAAAAABhCiAAAAAMAAQhQAAAAAGOBg6wIAAKiQnQurd/z+c6p3fABAvcFMFAAAAAAYQIgCAAAAAAMIUQAAAABgAM9EAdXMP+vHSu3XKyPTypWULzkjt8aPCQAAUNcwEwUAAAAABhCiAAAAAMAAQhQAAAAAGMAzUUAttdH+uK1LAAAAQAmYiQIAAAAAAwhRAAAAAGAAt/Ohbti50NYVAAAAAJKYiQIAAAAAQwhRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMIDV+QCgHorKOGDrEgAAqLeYiQIAAAAAA5iJAgDYzE9Zay2+R8V7lt65ArNr4e63VLUkAADKxUwUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMIAQBQAAAAAGEKIAAAAAwABetgvAJvyzfrTeYEnO1hsLAACgHMxEAQAAAIABzEQBQD2UnJFr6xIAAKi3mIkCAAAAAAMIUQAAAABgALfzAQAgSTsXVt/Y/edU39gAgBrHTBQAAAAAGECIAgAAAAADCFEAAAAAYADPRKHWi4qPkjIOWHXMcPdbrDoeAAAAGg5mogAAAADAAEIUAAAAABjA7XwAgAYh9kR6tY3du51ntY0NAKh9CFEAgFojNrH0oOOflVv+/uerLygBAHANt/MBAAAAgAGEKAAAAAAwgBAFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAA74lCrbZ421H9lJVeoffDGBF7Pp2XYwIAAKBSmIkCAAAAAAOYiQJQ5yVnWHemEgAAoCzMRAEAAACAAYQoAAAAADCAEAUAAAAABhCiAAAAAMAAFpYAAKAMG+2Pl9snLuN02R3io8w/hgeHV7UkAICNMRMFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMIAQBQAAAAAGEKIAAAAAwACbhajc3FyFhYUpMDBQ/v7+mj17toqKior1i4uLU69evRQYGKgbbrhBW7duNW87ceKE7r33XnXu3FkBAQF67LHHlJubW5OnAQAAAKCBsVmImjVrloqKipSYmKj//Oc/2rVrl5YuXWrRJzs7W8OGDVNkZKROnjypt99+W/fff79SU1MlSevWrdOUKVN05MgRHT58WImJiZo/f74tTgcAAABAA2GTEJWTk6NVq1bpX//6lxwcHOTm5qa5c+dqxYoVFv3WrFmjHj16KDQ0VJLUt29f9evXT2vXrpUk/f3vf9fQoUMlSc2aNdPjjz+umJiYmj0ZAAAAAA2Kgy0O+uOPP6pt27by9PQ0t4WEhOjQoUMqKCiQg8PVsmJjY9WnTx+LfUNCQhQfH1/iuGlpaXJzcyv1uHl5ecrLyzN/z8rKqsJZoC7baH9ccRmnbV0G6qifstbaugQAAGBDNpmJSklJkY+Pj0Wbt7e3CgoKLIJNaf3S09OLjZmenq5FixZpypQppR534cKFcnNzM38CAgKqeCYAAAAAGhqbzEQVFhbKZDIVa5MkOzu7cvv9sY8kHThwQKNGjdIDDzygBx54oNTjzpkzRzNnzjR/z8rKIkg1YMkZLEICAAAA42wSolq0aKFz585ZtKWlpcnZ2dnidrzS+vn6+pq/r1ixQnPnztXSpUs1cuTIMo/r5OQkJycnK5wBAAAAgIbKJrfzde3aVUeOHNGFCxfMbXv37lVISIjs7f9bUrdu3fTtt99a7Lt371717t1bkrRhwwYtWLBAX3/9dbkBCgAAAACswSYhytfXV4MHD9bcuXNVUFCgc+fO6YUXXtD06dMt+o0bN047duwwr7i3ZcsWJSQkaNSoUZKkV199VYsWLVKHDh1q+hQAAAAANFA2e0/U8uXLlZKSolatWql79+4KCwvT8OHDtXr1akVEREiS/P39FR0drfDwcHl7eysyMlKbNm2Sq6urJOn48eOaMWOGgoKCLD5paWm2Oi0AAAAA9ZxNnomSJC8vL33++efF2sePH6/x48ebvw8aNEgJCQkljnH27Nlqqw8AAAAASmKzmSgAAAAAqItsNhMFAHWVf9aPti4BAADYEDNRAAAAAGAAIQoAAAAADCBEAQAAAIABhCgAAAAAMICFJQAAqKLkjNwyt/+WmG7+OS/tqKGxZ/ylU6VqAgBUH2aiAAAAAMAAQhQAAAAAGECIAgAAAAADeCYKAGA1vIgYANAQMBMFAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADGCJcwBAvbHR/ritSwAANACEKAAA6rqdC6tv7P5zqm9sAKijuJ0PAAAAAAwgRAEAAACAAYQoAAAAADCAZ6IAAADqgcXbjlbb2DP+0qnaxgbqImaiAAAAAMAAZqIAAABQd7AaJWoBQhQAAEAD0+vUO8Z22OlZ8b4EETQA3M4HAAAAAAYQogAAAADAAEIUAAAAABhAiAIAAAAAAwhRAAAAAGAAIQoAAAAADCBEAQAAAIABvCcKAACgAdtof7zcPnEZpys+YHyUwoPDq1ARUPsxEwUAAAAABhCiAAAAAMAAQhQAAAAAGECIAgAAAAADWFgCAIBq5p/1o/nnXhmZxnbe6WnlagAAVcVMFAAAAAAYwEwUAAB1XFTGAauPGe5+i9XHBID6gpkoAAAAADCAmSgAAABYT9LXikr62urDMjuK2oSZKAAAAAAwgJkoAACA//Pgx89X6/i921dwtcUyZnJKm5HpdSq9MiXZXHJGboX6xZ43fn6927G6JaoHM1EAAAAAYAAhCgAAAAAMIEQBAAAAgAGEKAAAAAAwgIUlAAAA6pDSXq6cbF+xBRoAVB0zUQAAAABgACEKAAAAAAwgRAEAAACAAYQoAAAAADCAEAUAAAAABhCiAAAAAMAAljgHAADVLio+yupjhgeHW31MAKgIQhQAAKhTYhPTJUl5aUdtXAnqnZ0Lq2/s/nOqb2zUOEIUrKOa/p9Or1PpOmt/vFrGBgAAACqDZ6IAAAAAwABCFAAAAAAYwO18AAAAqPU2VuL2/riM06VuC3e/pSrloIEjRAEAAKBeSs7ILXVb7Pn0Ko3du51nlfZH3UaIAgCgBhn9bXpZv0kHANgGIQoAAJTOWquvZhwoub3tHdYZHwBqEAtLAAAAAIABzEQBAFCLlfVMR1UFuDtX29gAUJ8RogAAQJ30U9ZaW5dgWGxixRYz8M+qvvBcGdUZ5oG6iNv5AAAAAMAAQhQAAAAAGMDtfAAANFC8QwcAKoeZKAAAAAAwgJmoBi4qPso6A/3h/R/h7rdYZ0wAAACgFmImCgAAAAAMYCaqISnprfOlvUG+CqKsOGayPUuqAgAAoHYhRKHKeHcEAAAAGhJu5wMAAAAAA5iJAgAAxWy0P16l/eMyTlupktrLP+tHW5cAwEaYiQIAAAAAAwhRAAAAAGAAt/MBAADbSfra8C7+WSxoBMC2CFEAAACAFZT5mpf4KMPjhQeHV6EaVCdCVAOxeNtR9TqVXqyd9zABAAAAxvBMFAAAAAAYwEwUAACwOl7EDqA+YyYKAAAAAAwgRAEAAACAAYQoAAAAADDAZs9E5ebmKiIiQl999ZUKCws1ZswY/etf/5K9vWWui4uL02OPPaYzZ87I1dVVS5Ys0V133WXevmTJEi1dulS5ubnq0aOH3nvvPXl5edX06QAAAKABiT1hbNXj3xKL9y9N7/aelaoJNcdmIWrWrFkqKipSYmKiLl68qNDQUC1dulTTpk0z98nOztawYcO0cuVKhYaGas+ePbr77ruVkJAgX19frVu3Th988IH27dsnNzc3Pf744woLC9Mnn3xiq9Oqmp0Lq23okpY3BwAAQM3wz/qx4p2TnK/+3wuZFd+n/xxjBaFK7Ewmk6mmD5qTkyMfHx+dOnVKnp5Xk/ann36qBQsWKC4uztzvnXfe0ZdffqlPP/3U3HbPPfdowIABioiI0G233aann35a99xzjyTp3Llz8vPzU2pqqlq0aFFuHVlZWXJzc1NmZqaaN29u5bOshGoMUSX9tkSSNtofr7ZjAgAAwLgA96shKtz9FhtX8n8aSEAzkg1sMhP1448/qm3btuYAJUkhISE6dOiQCgoK5OBwtazY2Fj16dPHYt+QkBDFx8eroKBAP/zwg8V2Ly8vBQYG6uDBg+rXr1/NnIwVlRZ0AAAA0HBce0VA7Hnr/9uwdztuFbQGm4SolJQU+fj4WLR5e3uroKBAWVlZ5lmklJQUDRgwoFi/77//XmlpaSosLCz2/JO3t7fS00u+4PLy8pSXl2f+npl5dYo0KyuryudkDRdz88rvZGV59vk1fkwAAACU72KR9f9tuP0/KcZ3+s8TFeoWElT+nWAl6jurcvtZ2bVMUJEb9WwSogoLC4sVV1hYKEmys7Mrt5+dnZ25v8lkKrbPH7//0cKFCzV//vxi7QEBAZU7EQAAAKCaLLZ1ATVmga0LsJCdnS03N7cy+9gkRLVo0ULnzp2zaEtLS5Ozs7NFwaX18/X1lYeHh0wmky5cuGDx/NO17SWZM2eOZs6caf5eVFSk8+fPy9PTs9TgVZ9lZWUpICBAycnJteOZMNQpXD+oCq4fVBbXDqqC6wdlMZlMys7Olp+fX7l9bRKiunbtqiNHjujChQvy8PCQJO3du1chISEWS5x369ZN3377rUXw2bt3rx544AG5urqqc+fO+vbbbzV06FBJ0pkzZ/T777+rS5cuJR7XyclJTk5OFm3u7u5WPru6p3nz5vw/ElQa1w+qgusHlcW1g6rg+kFpypuBusYmL9v19fXV4MGDNXfuXBUUFOjcuXN64YUXNH36dIt+48aN044dOxQTEyNJ2rJlixISEjRq1ChJUlhYmObPn6+MjAxduXJFc+bM0cMPPywXF5eaPiUAAAAADYRNQpQkLV++XCkpKWrVqpW6d++usLAwDR8+XKtXr1ZERIQkyd/fX9HR0QoPD5e3t7ciIyO1adMmubq6SpIiIiLUr18/derUSUFBQXJ2dtaiRYtsdUoAAAAAGgCbvCcKtUNeXp4WLlyoOXPmFLvNESgP1w+qgusHlcW1g6rg+oG1EKIAAAAAwACb3c4HAAAAAHURIQoAAAAADCBEAQAAAIABhKgGIiYmRn369FGHDh3Uvn17vfHGG+ZtcXFx6tWrlwIDA3XDDTdo69atNqwUtdGLL76ozp07q02bNrr55pu1ceNG8zauH1TUo48+quuuu878nWsH5Vm8eLHc3NwUFBRk/iQmJkri+kHF7Nu3T3379lVgYKD8/Pz0ySefSOL6gRWY0CD87W9/Mx0+fNhkMplMiYmJJj8/P9OXX35pysrKMrVu3dq0bds2k8lkMu3evdvk5uZmOnPmjC3LRS2za9cu05UrV0wm09VrpEmTJqZz585x/aDCTp48aXJxcTF17tzZZDKZuHZQIfPmzTP9v//3/4q1c/2gIn755RdTq1atzNdJXl6e6ffff+f6gVUwE9VAvPvuu7r++uslSe3atdPo0aMVExOjNWvWqEePHgoNDZUk9e3bV/369dPatWttWS5qmX79+qlx48aSrl4jLi4uSktL4/pBhc2YMUOTJ082f+faQUWcP39e7u7uxdq5flARzzzzjJ544gnzdeLo6Chvb2+uH1gFIaqBSktLk5ubm2JjY9WnTx+LbSEhIYqPj7dNYajVLl++rCVLligkJETXXXcd1w8qZPPmzTp//rzuu+8+cxvXDiriwoULJYYorh+UJy8vT5s3b9ZDDz1UbBvXD6yBENUA7du3T5s3b9bYsWOVkpIiHx8fi+3e3t5KT0+3UXWojRITExUQECAXFxf9+9//1tKlSyWJ6wflSklJ0dSpU/X2228Xa+faQXkuXLigZ555RgEBARowYIB27NghiesH5Tty5IicnZ0VExOjW265Re3atdMjjzyirKwsrh9YBSGqgVm/fr3uueceffDBB2rbtq0KCwtl+tP7lgsLC2VnZ2ejClEbtW/fXsnJybp06ZKmT5+u3r1769ixY1w/KFNRUZHGjh2r2bNnq3PnzhbbuHZQEZs3b1ZKSoqSkpL0xBNPaMSIEfrpp5+4flCu7OxsFRQU6Pvvv9f333+vn3/+WWlpaYqIiOD6gVU42LoA1IzCwkJNmzZNO3fu1NatW3XzzTdLklq0aKFz585Z9E1LS5Ovr68tykQt16RJE40dO1Y7duzQqlWruH5QpgULFqhZs2aaOnVqsW1cO6gIe/urv+t1cHDQvffeq6+++kqfffYZ1w/K5eXlpby8PL344otydHSUJM2fP1933nmnBg4cyPWDKmMmqoGIiIhQYmKi9u3bZw5QktStWzd9++23Fn337t2r3r1713SJqEOcnJzk4uLC9YMyLVu2TLt375aHh4fc3d01dOhQHTt2TO7u7lw7qJTCwkI5Ojpy/aBcgYGBatKkiS5dumRus7OzU5MmTbh+YB02XRsQNeLSpUumRo0amVJTU4ttS05ONrm7u5t27NhhMplMpi+++MIUGBhoysnJqekyUUv99ttvpn//+9+m/Px8k8l0dSlYPz8/07Fjx7h+YMjOnTvNS5xz7aAi/vd//9dUWFhoMplMpq+++srUokUL0+HDh7l+UCGPP/646W9/+5spPz/fdPnyZdOIESNMTz31FNcPrILb+RqApKQkFRUVqWfPnhbt7du3144dOxQdHa3w8HCdP39eHTp00KZNm+Tq6mqjalHbODk5afny5YqIiFCzZs3Uvn17bdy4UR06dJAkrh9Uir+/P9cOyrV48WI9+OCDcnFxUWBgoD7//HPz6zq4flCeRYsW6bHHHlPr1q3VrFkzjRw5Us8//7wcHR25flBldibTn56sAwAAAACUimeiAAAAAMAAQhQAAAAAGECIAgAAAAADCFEAAAAAYAAhCgAAAAAMIEQBABqs7du368477zS0z65du/TOO+9UT0EAgDqBEAUAqLcuXbqk2bNnq0OHDvLx8VG/fv30008/lblPUFCQxadp06ZauXKlefvx48f17bffVnPlAIDajJftAgDqrSlTpqh58+Y6cOCAXFxc9OWXX2rIkCEaMmSIJCklJaXYPr/++qvF9/Hjx0uS7r77bv3000+6dOmS7r777mqvHQBQexGiAAD10u+//67t27crJSVFjRs3liT99a9/1ZgxY5Senq4HH3xQcXFx+uKLLyz2e/zxxy2+79+/X6Ghodq4caMk6b333tM333xTMycBAKiVuJ0PAFAvJScnKyAgwBygrunQoYNcXFwUGhqqW2+9tdh+b775prKzs5WTk6OcnBz17t1bHTp0qKmyAQB1ADNRAIB6qVOnTvr111+VmZkpNzc3c/v333+vNm3aKDU1VRcuXChx3+XLl8vBwfI/kf/zP/+jw4cPKycnR0OHDq3W2gEAtRshCgBQLzVv3lzTpk3TyJEjtWjRInl4eGjdunXavn272rZtq507dyozM1Oenp7F9v3ggw9kb2+v/Px85ebmKi8vT1u2bJHE7XwAAEIUAKAe+8c//qH169frxRdf1NmzZ9WzZ0/9/PPP8vLyknR1ifPIyEiLfdasWSM7OzvZ2dnJwcFBzZo1k6+vr3m7q6urWrRoUaPnAQCoXexMJpPJ1kUAAFBdCgsLVVRUVOzZKOm/IWrXrl3Ftn355Zf697//rcTERF24cEFNmzbVDTfcoMmTJxt+txQAoH5hYQkAQL324YcfavLkySVuCwwM1OjRo4u1z58/X3PmzNGDDz6ozZs368CBA9qyZYvuuecePfTQQ1q1alV1lw0AqMW4nQ8A0GB17NhRHTt2LNYeHR2tl156SXfddZe5rWXLlhoxYoTOnj2r6OhoTZw4sSZLBQDUIsxEAQDwJ3fccYeWLl1a7MW7hw4d0nvvvae+ffvapjAAQK3AM1EAgHpt5cqVevTRR9W0adNS+5w4cULNmzc3f79y5YrefPNNRUdHKyMjQ0VFRbK3t5evr68mTpyoyZMny87OribKBwDUQoQoAAAAADCA2/kAAAAAwABCFAAAAAAYQIgCAAAAAAMIUQAAAABgACEKAAAAAAwgRAEAAACAAYQoAAAAADCAEAUAAAAABhCiAAAAAMAAQhQAAAAAGECIAgAAAAAD/j9ylpE7ORtYxgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data = dfSa1.copy()\n", "\n", "# 'lcat' 카테고리별로 연령 분포를 비교하는 density plot을 그립니다.\n", "plt.figure(figsize=(10, 6)) # 그래프 크기 설정\n", "\n", "# 'lcat' 카테고리 목록을 가져옵니다.\n", "lcat_categories = data['lcat'].unique()\n", "\n", "# 각 카테고리별로 density plot을 그립니다.\n", "for category in lcat_categories:\n", " subset = data[data['lcat'] == category]\n", " plt.title('연령 분포 (Density Plot) - 각 lcat별')\n", " plt.xlabel('연령')\n", " plt.ylabel('Density')\n", " \n", " # KDE를 그리기 위해 'plot' 함수를 사용합니다.\n", " plt.hist(subset['age'], bins=30, density=True, alpha=0.5, label=category)\n", "\n", "# 범례를 추가하여 각 카테고리를 식별합니다.\n", "plt.legend(loc='upper right')\n", "\n", "# 그래프를 표시합니다.\n", "plt.show()\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.9" } }, "nbformat": 4, "nbformat_minor": 5 }