find_location.ipynb 8.2 KB
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 2374/2374 [1:28:59<00:00,  2.25s/it]\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>school_name</th>\n",
       "      <th>address</th>\n",
       "      <th>latitude</th>\n",
       "      <th>longitude</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>가락고등학교</td>\n",
       "      <td>서울특별시 송파구 송이로 42</td>\n",
       "      <td>37.493</td>\n",
       "      <td>127.125</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>가재울고등학교</td>\n",
       "      <td>서울특별시 서대문구 수색로 100-35</td>\n",
       "      <td>37.5773</td>\n",
       "      <td>126.903</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>강동고등학교</td>\n",
       "      <td>서울특별시 강동구 구천면로 572</td>\n",
       "      <td>37.5501</td>\n",
       "      <td>127.147</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>강서고등학교</td>\n",
       "      <td>서울특별시 양천구 목동중앙남로 27</td>\n",
       "      <td>37.5368</td>\n",
       "      <td>126.867</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>강서공업고등학교</td>\n",
       "      <td>서울특별시 강서구 방화대로47길 9</td>\n",
       "      <td>37.5762</td>\n",
       "      <td>126.815</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2369</th>\n",
       "      <td>표선고등학교</td>\n",
       "      <td>제주특별자치도 서귀포시 표선면 표선중앙로 22-15</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2370</th>\n",
       "      <td>한국뷰티고등학교</td>\n",
       "      <td>제주특별자치도 제주시 한경면 용고로 70</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2371</th>\n",
       "      <td>한림고등학교</td>\n",
       "      <td>제주특별자치도 제주시 한림읍 월계로 74</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2372</th>\n",
       "      <td>한림공업고등학교</td>\n",
       "      <td>제주특별자치도 제주시 한림읍 한림중앙로 87</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2373</th>\n",
       "      <td>함덕고등학교</td>\n",
       "      <td>제주특별자치도 제주시 조천읍 신흥로 9</td>\n",
       "      <td></td>\n",
       "      <td></td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2374 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     school_name                       address latitude longitude\n",
       "0         가락고등학교              서울특별시 송파구 송이로 42   37.493   127.125\n",
       "1        가재울고등학교         서울특별시 서대문구 수색로 100-35  37.5773   126.903\n",
       "2         강동고등학교            서울특별시 강동구 구천면로 572  37.5501   127.147\n",
       "3         강서고등학교           서울특별시 양천구 목동중앙남로 27  37.5368   126.867\n",
       "4       강서공업고등학교           서울특별시 강서구 방화대로47길 9  37.5762   126.815\n",
       "...          ...                           ...      ...       ...\n",
       "2369      표선고등학교  제주특별자치도 서귀포시 표선면 표선중앙로 22-15                   \n",
       "2370    한국뷰티고등학교        제주특별자치도 제주시 한경면 용고로 70                   \n",
       "2371      한림고등학교        제주특별자치도 제주시 한림읍 월계로 74                   \n",
       "2372    한림공업고등학교      제주특별자치도 제주시 한림읍 한림중앙로 87                   \n",
       "2373      함덕고등학교         제주특별자치도 제주시 조천읍 신흥로 9                   \n",
       "\n",
       "[2374 rows x 4 columns]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import pyspark\n",
    "from geopy.geocoders import Nominatim\n",
    "from geopy.extra.rate_limiter import RateLimiter\n",
    "from tqdm import tqdm\n",
    "\n",
    "basic_folder = ''\n",
    "file_name = basic_folder + 'elementary_middle_schools_location.csv'\n",
    "file_name2 = basic_folder + 'school_info.csv'\n",
    "df =pd.read_csv(file_name)\n",
    "df2 =pd.read_csv(file_name2)\n",
    "\n",
    "latitude=df['위도']\n",
    "longitude=df['경도']\n",
    "\n",
    "elementary=[]\n",
    "middle=[]\n",
    "high=[]\n",
    "\n",
    "count_row=df2.shape[0] #number of rows\n",
    "geolocator = Nominatim(user_agent=\"lms\", timeout=10)\n",
    "geocode = RateLimiter(geolocator.geocode, min_delay_seconds=1)\n",
    "\n",
    "def type_of_school():\n",
    "    for x in range(count_row):\n",
    "        type=df2.loc[x]['학교종류명']\n",
    "        if(type=='고등학교'):\n",
    "            if(df2.loc[x]['도로명주소']):\n",
    "                row=[df2.loc[x]['학교명'],df2.loc[x]['도로명주소'],\"\",\"\"]\n",
    "                high.append(row)\n",
    "\n",
    "\n",
    "type_of_school()\n",
    "columns=['school_name','address','latitude','longitude']\n",
    "high_df=pd.DataFrame(high,columns=columns)\n",
    "\n",
    "def find_lat_lon():\n",
    "    count_rw=high_df.shape[0]\n",
    "    for x in tqdm(range(count_rw)):\n",
    "        addr=high_df.loc[x]['address']\n",
    "        if geolocator.geocode(addr) is not None:\n",
    "            location=geolocator.geocode(addr)\n",
    "            high_df.loc[x]['latitude']=location.latitude\n",
    "            high_df.loc[x]['longitude']=location.longitude\n",
    "\n",
    "find_lat_lon()\n",
    "high_df.to_csv(r'high_school.csv')\n",
    "high_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import pyspark\n",
    "from geopy.geocoders import Nominatim\n",
    "from geopy.extra.rate_limiter import RateLimiter\n",
    "from tqdm import tqdm\n",
    "\n",
    "basic_folder = ''\n",
    "file_name = basic_folder + 'high_school.csv'\n",
    "\n",
    "df =pd.read_csv(file_name)\n",
    "count_row=df.shape[0]\n",
    "print(count_row)\n",
    "df"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}