{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import os\n",
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"import sys\n",
|
|
"sys.path.append('../../Scripts')\n",
|
|
"from preprocess_daily import DailyPreprocessor\n",
|
|
"from generate_signals import SignalGenerator"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1. 데이터를 준비합니다.\n",
|
|
"1-1. 네트워크가 로드되었습니다.\n",
|
|
"1-2. 테이블들이 로드되었습니다.\n",
|
|
"2. 신호이력 테이블을 변환합니다.\n",
|
|
"3. 이동류정보 테이블을 변환합니다.\n",
|
|
"4. 통합 테이블을 생성합니다.\n",
|
|
"5. 신호를 생성합니다.\n",
|
|
"6. 이슈사항을 저장합니다.\n",
|
|
"(1) 0:00:00.068803\n",
|
|
"(1-1) 0:00:00.007337\n",
|
|
"(1-2) 0:00:00.033005\n",
|
|
"(1-3) 0:00:00\n",
|
|
"(1-4) 0:00:00\n",
|
|
"(1-5) 0:00:00.028461\n",
|
|
"(2) 0:00:00.369125\n",
|
|
"(2-1) 0:00:00.074089\n",
|
|
"(2-2) 0:00:00.244743\n",
|
|
"(2-3) 0:00:00.050293\n",
|
|
"(3) 0:00:00.580612\n",
|
|
"(3-1) 0:00:00.559406\n",
|
|
"(3-2) 0:00:00.021206\n",
|
|
"(4) 0:00:00.186527\n",
|
|
"(4-1) 0:00:00.002003\n",
|
|
"(4-2) 0:00:00.014893\n",
|
|
"(4-2) 0:00:00.169631\n",
|
|
"(5) 0:00:00.715907\n",
|
|
"(5-1) 0:00:00.013178\n",
|
|
"(5-2) 0:00:00.696977\n",
|
|
"(5-3) 0:00:00.005752\n",
|
|
"(6) 0:00:00.001000\n",
|
|
"total time : 0:00:01.921974\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"self = SignalGenerator()\n",
|
|
"self.main()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1. 데이터를 준비합니다.\n",
|
|
"1-1. 네트워크가 로드되었습니다.\n",
|
|
"1-2. 테이블들이 로드되었습니다.\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>Unnamed: 0</th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>node_id</th>\n",
|
|
" <th>move_no</th>\n",
|
|
" <th>inc_edge_id</th>\n",
|
|
" <th>out_edge_id</th>\n",
|
|
" <th>state</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>0</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>571545870_02</td>\n",
|
|
" <td>571542797_02</td>\n",
|
|
" <td>grrrgrrGgrrrrrgrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>571510153_02</td>\n",
|
|
" <td>571545870_01</td>\n",
|
|
" <td>grrrgrrrgrrrrrgGr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>2</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>-571542797_02</td>\n",
|
|
" <td>571510153_01</td>\n",
|
|
" <td>grrrgrrrgrrrrGgrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>-571500487_01</td>\n",
|
|
" <td>571542797_02</td>\n",
|
|
" <td>gGGrgrrrgrrrrrgrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>4</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>571510153_02</td>\n",
|
|
" <td>571500487_01</td>\n",
|
|
" <td>grrrgrrrgrrrrrgrG</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>...</th>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>67</th>\n",
|
|
" <td>67</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>571511538_02.121</td>\n",
|
|
" <td>571500535_01</td>\n",
|
|
" <td>grrrgrrrrgrrgrrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>68</th>\n",
|
|
" <td>68</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>571500535_02.18</td>\n",
|
|
" <td>571500585_01</td>\n",
|
|
" <td>grrrgrrrrgrrgrrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>69</th>\n",
|
|
" <td>69</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>571500585_02</td>\n",
|
|
" <td>571542115_01</td>\n",
|
|
" <td>grrrgrrrrgrrgrrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>70</th>\n",
|
|
" <td>70</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>-571542115_01</td>\n",
|
|
" <td>571511538_01</td>\n",
|
|
" <td>grrrgrrrrgrrgrrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>71</th>\n",
|
|
" <td>71</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>u60</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>571500535_02</td>\n",
|
|
" <td>-571500535_02</td>\n",
|
|
" <td>ggggggggG</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"<p>72 rows × 7 columns</p>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" Unnamed: 0 inter_no node_id move_no inc_edge_id out_edge_id \\\n",
|
|
"0 0 175 i0 1 571545870_02 571542797_02 \n",
|
|
"1 1 175 i0 2 571510153_02 571545870_01 \n",
|
|
"2 2 175 i0 3 -571542797_02 571510153_01 \n",
|
|
"3 3 175 i0 4 -571500487_01 571542797_02 \n",
|
|
"4 4 175 i0 5 571510153_02 571500487_01 \n",
|
|
".. ... ... ... ... ... ... \n",
|
|
"67 67 210 i6 21 571511538_02.121 571500535_01 \n",
|
|
"68 68 210 i6 21 571500535_02.18 571500585_01 \n",
|
|
"69 69 210 i6 21 571500585_02 571542115_01 \n",
|
|
"70 70 210 i6 21 -571542115_01 571511538_01 \n",
|
|
"71 71 210 u60 5 571500535_02 -571500535_02 \n",
|
|
"\n",
|
|
" state \n",
|
|
"0 grrrgrrGgrrrrrgrr \n",
|
|
"1 grrrgrrrgrrrrrgGr \n",
|
|
"2 grrrgrrrgrrrrGgrr \n",
|
|
"3 gGGrgrrrgrrrrrgrr \n",
|
|
"4 grrrgrrrgrrrrrgrG \n",
|
|
".. ... \n",
|
|
"67 grrrgrrrrgrrgrrr \n",
|
|
"68 grrrgrrrrgrrgrrr \n",
|
|
"69 grrrgrrrrgrrgrrr \n",
|
|
"70 grrrgrrrrgrrgrrr \n",
|
|
"71 ggggggggG \n",
|
|
"\n",
|
|
"[72 rows x 7 columns]"
|
|
]
|
|
},
|
|
"execution_count": 27,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"self.prepare_data() # 1\n",
|
|
"self.matching"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1. 데이터를 준비합니다.\n",
|
|
"1-1. 네트워크가 로드되었습니다.\n",
|
|
"1-2. 테이블들이 로드되었습니다.\n",
|
|
"2. 신호이력 테이블을 변환합니다.\n",
|
|
"3. 이동류정보 테이블을 변환합니다.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"self.prepare_data() # 1\n",
|
|
"self.process_history() # 2\n",
|
|
"self.process_movement() # 3\n",
|
|
"self.merge_dfs() # 4-1"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"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>inter_no</th>\n",
|
|
" <th>start_unix</th>\n",
|
|
" <th>phas_A</th>\n",
|
|
" <th>phas_B</th>\n",
|
|
" <th>move_A</th>\n",
|
|
" <th>move_B</th>\n",
|
|
" <th>duration</th>\n",
|
|
" <th>node_id</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1704418870</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>i1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1704418870</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>103</td>\n",
|
|
" <td>i1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1704418870</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>i1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1704419051</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>i1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>1704419051</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>103</td>\n",
|
|
" <td>i1</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>...</th>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>245</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1704419810</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>i6</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>246</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1704419810</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>15</td>\n",
|
|
" <td>i6</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>247</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1704419810</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>i6</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>248</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1704419810</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>70</td>\n",
|
|
" <td>i6</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>249</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>1704419810</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>i6</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"<p>192 rows × 8 columns</p>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no start_unix phas_A phas_B move_A move_B duration node_id\n",
|
|
"6 176 1704418870 1 1 8 4 37 i1\n",
|
|
"7 176 1704418870 2 2 8 3 103 i1\n",
|
|
"8 176 1704418870 3 3 5 18 40 i1\n",
|
|
"9 176 1704419051 1 1 8 4 37 i1\n",
|
|
"10 176 1704419051 2 2 8 3 103 i1\n",
|
|
".. ... ... ... ... ... ... ... ...\n",
|
|
"245 210 1704419810 1 1 6 18 28 i6\n",
|
|
"246 210 1704419810 1 2 6 2 15 i6\n",
|
|
"247 210 1704419810 2 2 5 2 43 i6\n",
|
|
"248 210 1704419810 3 3 7 4 70 i6\n",
|
|
"249 210 1704419810 4 4 8 3 24 i6\n",
|
|
"\n",
|
|
"[192 rows x 8 columns]"
|
|
]
|
|
},
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"self.histid = self.movedur.copy()\n",
|
|
"self.histid['node_id'] = self.histid['inter_no'].map(self.inter2node)\n",
|
|
"histid_start = self.present_time - 600\n",
|
|
"self.histid = self.histid[self.histid.start_unix > histid_start]\n",
|
|
"\n",
|
|
"self.histid"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"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>Unnamed: 0</th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>node_id</th>\n",
|
|
" <th>move_no</th>\n",
|
|
" <th>inc_edge_id</th>\n",
|
|
" <th>out_edge_id</th>\n",
|
|
" <th>state</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>0</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>571545870_02</td>\n",
|
|
" <td>571542797_02</td>\n",
|
|
" <td>grrrgrrGgrrrrrgrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>571510153_02</td>\n",
|
|
" <td>571545870_01</td>\n",
|
|
" <td>grrrgrrrgrrrrrgGr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>2</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>-571542797_02</td>\n",
|
|
" <td>571510153_01</td>\n",
|
|
" <td>grrrgrrrgrrrrGgrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>-571500487_01</td>\n",
|
|
" <td>571542797_02</td>\n",
|
|
" <td>gGGrgrrrgrrrrrgrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>4</td>\n",
|
|
" <td>175</td>\n",
|
|
" <td>i0</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>571510153_02</td>\n",
|
|
" <td>571500487_01</td>\n",
|
|
" <td>grrrgrrrgrrrrrgrG</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>...</th>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>67</th>\n",
|
|
" <td>67</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>571511538_02.121</td>\n",
|
|
" <td>571500535_01</td>\n",
|
|
" <td>grrrgrrrrgrrgrrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>68</th>\n",
|
|
" <td>68</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>571500535_02.18</td>\n",
|
|
" <td>571500585_01</td>\n",
|
|
" <td>grrrgrrrrgrrgrrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>69</th>\n",
|
|
" <td>69</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>571500585_02</td>\n",
|
|
" <td>571542115_01</td>\n",
|
|
" <td>grrrgrrrrgrrgrrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>70</th>\n",
|
|
" <td>70</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>i6</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>-571542115_01</td>\n",
|
|
" <td>571511538_01</td>\n",
|
|
" <td>grrrgrrrrgrrgrrr</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>71</th>\n",
|
|
" <td>71</td>\n",
|
|
" <td>210</td>\n",
|
|
" <td>u60</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>571500535_02</td>\n",
|
|
" <td>-571500535_02</td>\n",
|
|
" <td>ggggggggG</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"<p>72 rows × 7 columns</p>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" Unnamed: 0 inter_no node_id move_no inc_edge_id out_edge_id \\\n",
|
|
"0 0 175 i0 1 571545870_02 571542797_02 \n",
|
|
"1 1 175 i0 2 571510153_02 571545870_01 \n",
|
|
"2 2 175 i0 3 -571542797_02 571510153_01 \n",
|
|
"3 3 175 i0 4 -571500487_01 571542797_02 \n",
|
|
"4 4 175 i0 5 571510153_02 571500487_01 \n",
|
|
".. ... ... ... ... ... ... \n",
|
|
"67 67 210 i6 21 571511538_02.121 571500535_01 \n",
|
|
"68 68 210 i6 21 571500535_02.18 571500585_01 \n",
|
|
"69 69 210 i6 21 571500585_02 571542115_01 \n",
|
|
"70 70 210 i6 21 -571542115_01 571511538_01 \n",
|
|
"71 71 210 u60 5 571500535_02 -571500535_02 \n",
|
|
"\n",
|
|
" state \n",
|
|
"0 grrrgrrGgrrrrrgrr \n",
|
|
"1 grrrgrrrgrrrrrgGr \n",
|
|
"2 grrrgrrrgrrrrGgrr \n",
|
|
"3 gGGrgrrrgrrrrrgrr \n",
|
|
"4 grrrgrrrgrrrrrgrG \n",
|
|
".. ... \n",
|
|
"67 grrrgrrrrgrrgrrr \n",
|
|
"68 grrrgrrrrgrrgrrr \n",
|
|
"69 grrrgrrrrgrrgrrr \n",
|
|
"70 grrrgrrrrgrrgrrr \n",
|
|
"71 ggggggggG \n",
|
|
"\n",
|
|
"[72 rows x 7 columns]"
|
|
]
|
|
},
|
|
"execution_count": 25,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"self.matching[]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"node_id move_no\n",
|
|
"i0 1 grrrgrrGgrrrrrgrr\n",
|
|
" 2 grrrgrrrgrrrrrgGr\n",
|
|
" 3 grrrgrrrgrrrrGgrr\n",
|
|
" 4 gGGrgrrrgrrrrrgrr\n",
|
|
" 5 grrrgrrrgrrrrrgrG\n",
|
|
" ... \n",
|
|
"i6 21 grrrgrrrrgrrgrrr\n",
|
|
" 21 grrrgrrrrgrrgrrr\n",
|
|
" 21 grrrgrrrrgrrgrrr\n",
|
|
" 21 grrrgrrrrgrrgrrr\n",
|
|
"u60 5 ggggggggG\n",
|
|
"Name: state, Length: 72, dtype: object"
|
|
]
|
|
},
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# self.matching.set_index(['node_id', 'move_no'])['state']"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"{('i0', 1): 'grrrgrrGgrrrrrgrr',\n",
|
|
" ('i0', 2): 'grrrgrrrgrrrrrgGr',\n",
|
|
" ('i0', 3): 'grrrgrrrgrrrrGgrr',\n",
|
|
" ('i0', 4): 'gGGrgrrrgrrrrrgrr',\n",
|
|
" ('i0', 5): 'grrrgrrrgrrrrrgrG',\n",
|
|
" ('i0', 6): 'grrrgGGrgrrrrrgrr',\n",
|
|
" ('i0', 7): 'grrGgrrrgrrrrrgrr',\n",
|
|
" ('i0', 8): 'grrrgrrrgGGGGrgrr',\n",
|
|
" ('i0', 21): 'grrrgrrrgrrrrrgrr',\n",
|
|
" ('u00', 7): 'ggggGgggg',\n",
|
|
" ('i1', 3): 'grrrrrGgrr',\n",
|
|
" ('i1', 4): 'gGGrrrrgrr',\n",
|
|
" ('i1', 5): 'grrrrrrgGG',\n",
|
|
" ('i1', 8): 'grrGGGrgrr',\n",
|
|
" ('i1', 21): 'grrrrrrgrr',\n",
|
|
" ('i2', 4): 'GGggrrr',\n",
|
|
" ('i2', 8): 'rrggGGG',\n",
|
|
" ('u20', 17): 'ggGggg',\n",
|
|
" ('c30', 20): 'rrrGGG',\n",
|
|
" ('i3', 1): 'grrrrgrrrGgrrrrgrrrr',\n",
|
|
" ('i3', 2): 'grrrrgrrrrgrrrrgGGGr',\n",
|
|
" ('i3', 3): 'grrrrgrrrrgrrrGgrrrr',\n",
|
|
" ('i3', 4): 'gGGGrgrrrrgrrrrgrrrr',\n",
|
|
" ('i3', 5): 'grrrrgrrrrgrrrrgrrrG',\n",
|
|
" ('i3', 6): 'grrrrgGGGrgrrrrgrrrr',\n",
|
|
" ('i3', 7): 'grrrGgrrrrgrrrrgrrrr',\n",
|
|
" ('i3', 8): 'grrrrgrrrrgGGGrgrrrr',\n",
|
|
" ('i3', 21): 'grrrrgrrrrgrrrrgrrrr',\n",
|
|
" ('u30', 6): 'ggggGggg',\n",
|
|
" ('u31', 8): 'ggggGggg',\n",
|
|
" ('u32', 4): 'gggggggG',\n",
|
|
" ('i8', 1): 'grrrrrrGgrrrgrrr',\n",
|
|
" ('i8', 2): 'grrrrrrrgrrrgGGr',\n",
|
|
" ('i8', 3): 'grrrrrrrgrrGgrrr',\n",
|
|
" ('i8', 4): 'gGGrrrrrgrrrgrrr',\n",
|
|
" ('i8', 5): 'grrrrrrrgrrrgrrG',\n",
|
|
" ('i8', 6): 'grrrGGGrgrrrgrrr',\n",
|
|
" ('i8', 7): 'grrGrrrrgrrrgrrr',\n",
|
|
" ('i8', 8): 'grrrrrrrgGGrgrrr',\n",
|
|
" ('i8', 21): 'grrrrrrrgrrrgrrr',\n",
|
|
" ('i9', 2): 'rrGG',\n",
|
|
" ('i9', 6): 'GGrr',\n",
|
|
" ('i7', 4): 'GGrggrr',\n",
|
|
" ('i7', 8): 'rrrggGG',\n",
|
|
" ('i6', 1): 'grrrgrrrGgrrgrrr',\n",
|
|
" ('i6', 2): 'grrrgrrrrgrrgGGr',\n",
|
|
" ('i6', 3): 'grrrgrrrrgrrgrrr',\n",
|
|
" ('i6', 4): 'gGGrgrrrrgrrgrrr',\n",
|
|
" ('i6', 5): 'grrrgrrrrgrrgrrG',\n",
|
|
" ('i6', 6): 'grrrgGGGrgrrgrrr',\n",
|
|
" ('i6', 7): 'grrGgrrrrgrrgrrr',\n",
|
|
" ('i6', 8): 'grrrgrrrrgGGgrrr',\n",
|
|
" ('i6', 21): 'grrrgrrrrgrrgrrr',\n",
|
|
" ('u60', 5): 'ggggggggG'}"
|
|
]
|
|
},
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"mapping_dict"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"mapping_dict = self.matching.set_index(['node_id', 'move_no'])['state'].to_dict()\n",
|
|
"# matching : 가능한 모든 (노드id, 이동류번호)에 대한 신호 * 시차제와 연관 有\n",
|
|
"\n",
|
|
"\n",
|
|
"for i, row in self.histid.iterrows():\n",
|
|
" node_id = row.node_id\n",
|
|
" move_A = row.move_A\n",
|
|
" move_B = row.move_B\n",
|
|
" \n",
|
|
" # A링의 state 지정\n",
|
|
" if (node_id, move_A) in mapping_dict:\n",
|
|
" state_A = mapping_dict[(node_id, move_A)]\n",
|
|
" else:\n",
|
|
" state_A = ''.join(self.node2init[node_id])\n",
|
|
" self.histid.at[i, 'state_A'] = state_A\n",
|
|
"\n",
|
|
" # B링의 state 지정\n",
|
|
" if (node_id, move_B) in mapping_dict:\n",
|
|
" state_B = mapping_dict[(node_id, move_B)]\n",
|
|
" else:\n",
|
|
" state_B = ''.join(self.node2init[node_id])\n",
|
|
" self.histid.at[i, 'state_B'] = state_B "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"self.assign_signals()"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "sts",
|
|
"language": "python",
|
|
"name": "sts"
|
|
},
|
|
"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.8.10"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|