{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import os, sys, copy, argparse, json, pickle\n", "import sumolib, traci\n", "from tqdm import tqdm\n", "from datetime import datetime\n", "path_root = os.path.dirname(os.path.dirname(os.path.abspath('.')))\n", "path_scr = os.path.join(path_root, 'scripts')\n", "sys.path.append(path_scr)\n", "from preprocess_daily import DailyPreprocessor\n", "# from generate_signals import SignalGenerator" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "self = DailyPreprocessor(config_name = 'test_0731')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1. 데이터를 로드합니다.\n", "1-1. 네트워크가 로드되었습니다.\n", "1-2. 테이블들이 로드되었습니다.\n", "1-5. 테이블을 표준화했습니다.\n", "1-6. 주요 객체 (리스트, 딕셔너리)들을 저장했습니다.\n" ] } ], "source": [ "# 1. 데이터 불러오기\n", "self.load_data()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2-1. 매칭 테이블들을 생성했습니다.\n" ] } ], "source": [ "self.get_matches()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2-2. 초기화 신호가 지정되었습니다. (우회전 : g)\n" ] } ], "source": [ "self.initialize_state()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2-3. 유턴 인덱스 / 비보호좌회전 인덱스를 지정했습니다.\n" ] } ], "source": [ "self.assign_indices()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2-4. 직진 및 좌회전(G)을 배정했습니다.\n" ] } ], "source": [ "self.assign_signals()" ] }, { "cell_type": "code", "execution_count": 24, "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", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
664561062311A5513136513139grgrrrrGleft
674561062311B2513136513137grgrrGGrstraight
684561062312A6513138513135grgGGrrrstraight
694561062312B2513136513137grgrrGGrstraight
704561062313A7513140513137gGgrrrrrleft
714561062313B7513140513137gGgrrrrrleft
724561062314A17NaNNaNgrgrrrrrNaN
734561062314B17NaNNaNgrgrrrrrNaN
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "66 456 106231 1 A 5 513136 513139 \n", "67 456 106231 1 B 2 513136 513137 \n", "68 456 106231 2 A 6 513138 513135 \n", "69 456 106231 2 B 2 513136 513137 \n", "70 456 106231 3 A 7 513140 513137 \n", "71 456 106231 3 B 7 513140 513137 \n", "72 456 106231 4 A 17 NaN NaN \n", "73 456 106231 4 B 17 NaN NaN \n", "\n", " state turn_type \n", "66 grgrrrrG left \n", "67 grgrrGGr straight \n", "68 grgGGrrr straight \n", "69 grgrrGGr straight \n", "70 gGgrrrrr left \n", "71 gGgrrrrr left \n", "72 grgrrrrr NaN \n", "73 grgrrrrr NaN " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
824571062341A6513152513155gGGGrgrrrrgrrrrgrrrstraight
834571062341B2513156513151grrrrgrrrrgGGGrgrrrstraight
844571062342A5513156513157grrrrgrrrrgrrrGgrrrleft
854571062342B1513152513153grrrGgrrrrgrrrrgrrrleft
864571062343A17NaNNaNgrrrrgrrrrgrrrrgrrrNaN
874571062343B17NaNNaNgrrrrgrrrrgrrrrgrrrNaN
884571062344A8513154513157grrrrgGGrrgrrrrgrrrstraight
894571062344B3513154513155grrrrgrrGGgrrrrgrrrleft
904571062345A7513158513151grrrrgrrrrgrrrrgrrGleft
914571062345B4513158513153grrrrgrrrrgrrrrgGGrstraight
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "82 457 106234 1 A 6 513152 513155 \n", "83 457 106234 1 B 2 513156 513151 \n", "84 457 106234 2 A 5 513156 513157 \n", "85 457 106234 2 B 1 513152 513153 \n", "86 457 106234 3 A 17 NaN NaN \n", "87 457 106234 3 B 17 NaN NaN \n", "88 457 106234 4 A 8 513154 513157 \n", "89 457 106234 4 B 3 513154 513155 \n", "90 457 106234 5 A 7 513158 513151 \n", "91 457 106234 5 B 4 513158 513153 \n", "\n", " state turn_type \n", "82 gGGGrgrrrrgrrrrgrrr straight \n", "83 grrrrgrrrrgGGGrgrrr straight \n", "84 grrrrgrrrrgrrrGgrrr left \n", "85 grrrGgrrrrgrrrrgrrr left \n", "86 grrrrgrrrrgrrrrgrrr NaN \n", "87 grrrrgrrrrgrrrrgrrr NaN \n", "88 grrrrgGGrrgrrrrgrrr straight \n", "89 grrrrgrrGGgrrrrgrrr left \n", "90 grrrrgrrrrgrrrrgrrG left \n", "91 grrrrgrrrrgrrrrgGGr straight " ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "106238\n", "all_red_indices : {4, 6, 7, 12, 14, 15}\n", "all_red_state : ggggrgrrggggrgrr\n" ] }, { "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", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
1124581062381A8513193513188gGGGrgrrgrrrrgrrstraight
1134581062381B4513189513192grrrrgrrgGGGrgrrstraight
1144581062382A17NaNNaNgrrrrgrrgrrrrgrrNaN
1154581062382B17NaNNaNgrrrrgrrgrrrrgrrNaN
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "112 458 106238 1 A 8 513193 513188 \n", "113 458 106238 1 B 4 513189 513192 \n", "114 458 106238 2 A 17 NaN NaN \n", "115 458 106238 2 B 17 NaN NaN \n", "\n", " state turn_type \n", "112 gGGGrgrrgrrrrgrr straight \n", "113 grrrrgrrgGGGrgrr straight \n", "114 grrrrgrrgrrrrgrr NaN \n", "115 grrrrgrrgrrrrgrr NaN " ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "106332\n", "all_red_indices : {11, 4, 12, 14}\n", "all_red_state : ggggrggggggrrgrgggggggggggg\n" ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
404421063321A6519824513731gGGGrrrrrrgrrgrrrrrrrrgrrrrstraight
414421063321B1519824513726grrrrGGrrrgrrgrrrrrrrrgrrrrleft
424421063322A6519824513731gGGGrrrrrrgrrgrrrrrrrrgrrrrstraight
434421063322B2513732513728grrrrrrrrrgrrgrGGGGGrrgrrrrstraight
444421063323A5513732513729grrrrrrrrrgrrgrrrrrrGGgrrrrleft
454421063323B2513732513728grrrrrrrrrgrrgrGGGGGrrgrrrrstraight
464421063324A7513730513728grrrrrrrrrgrrgrrrrrrrrgrrrGleft
474421063324B4513730513726grrrrrrrrrgrrgrrrrrrrrgGGGrstraight
484421063325A8513727513729grrrrrrGGrgrrgrrrrrrrrgrrrrstraight
494421063325B3513727513731grrrrrrrrGgrrgrrrrrrrrgrrrrleft
504421063326A8513727513729grrrrrrGGrgrrgrrrrrrrrgrrrrstraight
514421063326B3513727513731grrrrrrrrGgrrgrrrrrrrrgrrrrleft
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "40 442 106332 1 A 6 519824 513731 \n", "41 442 106332 1 B 1 519824 513726 \n", "42 442 106332 2 A 6 519824 513731 \n", "43 442 106332 2 B 2 513732 513728 \n", "44 442 106332 3 A 5 513732 513729 \n", "45 442 106332 3 B 2 513732 513728 \n", "46 442 106332 4 A 7 513730 513728 \n", "47 442 106332 4 B 4 513730 513726 \n", "48 442 106332 5 A 8 513727 513729 \n", "49 442 106332 5 B 3 513727 513731 \n", "50 442 106332 6 A 8 513727 513729 \n", "51 442 106332 6 B 3 513727 513731 \n", "\n", " state turn_type \n", "40 gGGGrrrrrrgrrgrrrrrrrrgrrrr straight \n", "41 grrrrGGrrrgrrgrrrrrrrrgrrrr left \n", "42 gGGGrrrrrrgrrgrrrrrrrrgrrrr straight \n", "43 grrrrrrrrrgrrgrGGGGGrrgrrrr straight \n", "44 grrrrrrrrrgrrgrrrrrrGGgrrrr left \n", "45 grrrrrrrrrgrrgrGGGGGrrgrrrr straight \n", "46 grrrrrrrrrgrrgrrrrrrrrgrrrG left \n", "47 grrrrrrrrrgrrgrrrrrrrrgGGGr straight \n", "48 grrrrrrGGrgrrgrrrrrrrrgrrrr straight \n", "49 grrrrrrrrGgrrgrrrrrrrrgrrrr left \n", "50 grrrrrrGGrgrrgrrrrrrrrgrrrr straight \n", "51 grrrrrrrrGgrrgrrrrrrrrgrrrr left " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
324381063501A6513817513811grrGGGGrrrrrstraight
334381063501B2513810513816grrrrrrGGGGrstraight
344381063502A5513810513793grrrrrrrrrrGleft
354381063502B1513817513816grrrrrrrrrrrNaN
364381063503A8513817513793grGrrrrrrrrrNaN
374381063503B3513817513811grrGGGGrrrrrstraight
384381063504A7513792513816gGrrrrrrrrrrleft
394381063504B4513792513816gGrrrrrrrrrrleft
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "32 438 106350 1 A 6 513817 513811 \n", "33 438 106350 1 B 2 513810 513816 \n", "34 438 106350 2 A 5 513810 513793 \n", "35 438 106350 2 B 1 513817 513816 \n", "36 438 106350 3 A 8 513817 513793 \n", "37 438 106350 3 B 3 513817 513811 \n", "38 438 106350 4 A 7 513792 513816 \n", "39 438 106350 4 B 4 513792 513816 \n", "\n", " state turn_type \n", "32 grrGGGGrrrrr straight \n", "33 grrrrrrGGGGr straight \n", "34 grrrrrrrrrrG left \n", "35 grrrrrrrrrrr NaN \n", "36 grGrrrrrrrrr NaN \n", "37 grrGGGGrrrrr straight \n", "38 gGrrrrrrrrrr left \n", "39 gGrrrrrrrrrr left " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
84371075871A6NoneNoneGGGGrstraight
94371075871B2NoneNoneGGGGrstraight
104371075872A5NoneNoneGGGGrleft
114371075872B1516929517055GGGGGleft
124371075873A8NoneNoneGGGGrstraight
134371075873B3NoneNoneGGGGrleft
144371075874A7NoneNoneGGGGrleft
154371075874B4NoneNoneGGGGrstraight
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "8 437 107587 1 A 6 None None \n", "9 437 107587 1 B 2 None None \n", "10 437 107587 2 A 5 None None \n", "11 437 107587 2 B 1 516929 517055 \n", "12 437 107587 3 A 8 None None \n", "13 437 107587 3 B 3 None None \n", "14 437 107587 4 A 7 None None \n", "15 437 107587 4 B 4 None None \n", "\n", " state turn_type \n", "8 GGGGr straight \n", "9 GGGGr straight \n", "10 GGGGr left \n", "11 GGGGG left \n", "12 GGGGr straight \n", "13 GGGGr left \n", "14 GGGGr left \n", "15 GGGGr straight " ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
524431087691A6516916513863gGGGGGrrrrrrgrrstraight
534431087691B2513862516917grrrrrGGGGGrgrrstraight
544431087692A5513862518550grrrrrrrrrrGgrrleft
554431087692B2513862516917grrrrrGGGGGrgrrstraight
564431087693A7518549516917grrrrrrrrrrrgGGleft
574431087693B18NaNNaNgrrrrrrrrrrrgrrNaN
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "52 443 108769 1 A 6 516916 513863 \n", "53 443 108769 1 B 2 513862 516917 \n", "54 443 108769 2 A 5 513862 518550 \n", "55 443 108769 2 B 2 513862 516917 \n", "56 443 108769 3 A 7 518549 516917 \n", "57 443 108769 3 B 18 NaN NaN \n", "\n", " state turn_type \n", "52 gGGGGGrrrrrrgrr straight \n", "53 grrrrrGGGGGrgrr straight \n", "54 grrrrrrrrrrGgrr left \n", "55 grrrrrGGGGGrgrr straight \n", "56 grrrrrrrrrrrgGG left \n", "57 grrrrrrrrrrrgrr NaN " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
744561092951A5519797519796GGGGGGGGleft
754561092951B2NoneNoneGGGGGGrrstraight
764561092952A6NoneNoneGGGGGGrrstraight
774561092952B2NoneNoneGGGGGGrrstraight
784561092953A7NoneNoneGGGGGGrrleft
794561092953B7NoneNoneGGGGGGrrleft
804561092954A17NoneNoneGGGGGGrrNaN
814561092954B17NoneNoneGGGGGGrrNaN
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "74 456 109295 1 A 5 519797 519796 \n", "75 456 109295 1 B 2 None None \n", "76 456 109295 2 A 6 None None \n", "77 456 109295 2 B 2 None None \n", "78 456 109295 3 A 7 None None \n", "79 456 109295 3 B 7 None None \n", "80 456 109295 4 A 17 None None \n", "81 456 109295 4 B 17 None None \n", "\n", " state turn_type \n", "74 GGGGGGGG left \n", "75 GGGGGGrr straight \n", "76 GGGGGGrr straight \n", "77 GGGGGGrr straight \n", "78 GGGGGGrr left \n", "79 GGGGGGrr left \n", "80 GGGGGGrr NaN \n", "81 GGGGGGrr NaN " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
924571092961A6NoneNoneGGGrrGGGstraight
934571092961B2NoneNoneGGGrrGGGstraight
944571092962A5NoneNoneGGGrrGGGleft
954571092962B1519799519798GGGGGGGGleft
964571092963A17NoneNoneGGGrrGGGNaN
974571092963B17NoneNoneGGGrrGGGNaN
984571092964A8NoneNoneGGGrrGGGstraight
994571092964B3NoneNoneGGGrrGGGleft
1004571092965A7NoneNoneGGGrrGGGleft
1014571092965B4NoneNoneGGGrrGGGstraight
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "92 457 109296 1 A 6 None None \n", "93 457 109296 1 B 2 None None \n", "94 457 109296 2 A 5 None None \n", "95 457 109296 2 B 1 519799 519798 \n", "96 457 109296 3 A 17 None None \n", "97 457 109296 3 B 17 None None \n", "98 457 109296 4 A 8 None None \n", "99 457 109296 4 B 3 None None \n", "100 457 109296 5 A 7 None None \n", "101 457 109296 5 B 4 None None \n", "\n", " state turn_type \n", "92 GGGrrGGG straight \n", "93 GGGrrGGG straight \n", "94 GGGrrGGG left \n", "95 GGGGGGGG left \n", "96 GGGrrGGG NaN \n", "97 GGGrrGGG NaN \n", "98 GGGrrGGG straight \n", "99 GGGrrGGG left \n", "100 GGGrrGGG left \n", "101 GGGrrGGG straight " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
1024571092971A6NoneNoneGGGGGGrrstraight
1034571092971B2NoneNoneGGGGGGrrstraight
1044571092972A5519801519800GGGGGGGGleft
1054571092972B1NoneNoneGGGGGGrrleft
1064571092973A17NoneNoneGGGGGGrrNaN
1074571092973B17NoneNoneGGGGGGrrNaN
1084571092974A8NoneNoneGGGGGGrrstraight
1094571092974B3NoneNoneGGGGGGrrleft
1104571092975A7NoneNoneGGGGGGrrleft
1114571092975B4NoneNoneGGGGGGrrstraight
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "102 457 109297 1 A 6 None None \n", "103 457 109297 1 B 2 None None \n", "104 457 109297 2 A 5 519801 519800 \n", "105 457 109297 2 B 1 None None \n", "106 457 109297 3 A 17 None None \n", "107 457 109297 3 B 17 None None \n", "108 457 109297 4 A 8 None None \n", "109 457 109297 4 B 3 None None \n", "110 457 109297 5 A 7 None None \n", "111 457 109297 5 B 4 None None \n", "\n", " state turn_type \n", "102 GGGGGGrr straight \n", "103 GGGGGGrr straight \n", "104 GGGGGGGG left \n", "105 GGGGGGrr left \n", "106 GGGGGGrr NaN \n", "107 GGGGGGrr NaN \n", "108 GGGGGGrr straight \n", "109 GGGGGGrr left \n", "110 GGGGGGrr left \n", "111 GGGGGGrr straight " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
164371093131A6NoneNoneGGGGGGGGrstraight
174371093131B2NoneNoneGGGGGGGGrstraight
184371093132A5519834519833GGGGGGGGGleft
194371093132B1NoneNoneGGGGGGGGrleft
204371093133A8NoneNoneGGGGGGGGrstraight
214371093133B3NoneNoneGGGGGGGGrleft
224371093134A7NoneNoneGGGGGGGGrleft
234371093134B4NoneNoneGGGGGGGGrstraight
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "16 437 109313 1 A 6 None None \n", "17 437 109313 1 B 2 None None \n", "18 437 109313 2 A 5 519834 519833 \n", "19 437 109313 2 B 1 None None \n", "20 437 109313 3 A 8 None None \n", "21 437 109313 3 B 3 None None \n", "22 437 109313 4 A 7 None None \n", "23 437 109313 4 B 4 None None \n", "\n", " state turn_type \n", "16 GGGGGGGGr straight \n", "17 GGGGGGGGr straight \n", "18 GGGGGGGGG left \n", "19 GGGGGGGGr left \n", "20 GGGGGGGGr straight \n", "21 GGGGGGGGr left \n", "22 GGGGGGGGr left \n", "23 GGGGGGGGr straight " ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
584431093331A6NoneNoneGGGGGGGGGGGrstraight
594431093331B2NoneNoneGGGGGGGGGGGrstraight
604431093332A5519873519874GGGGGGGGGGGGleft
614431093332B2NoneNoneGGGGGGGGGGGrstraight
624431093333A7NoneNoneGGGGGGGGGGGrleft
634431093333B18NoneNoneGGGGGGGGGGGrNaN
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "58 443 109333 1 A 6 None None \n", "59 443 109333 1 B 2 None None \n", "60 443 109333 2 A 5 519873 519874 \n", "61 443 109333 2 B 2 None None \n", "62 443 109333 3 A 7 None None \n", "63 443 109333 3 B 18 None None \n", "\n", " state turn_type \n", "58 GGGGGGGGGGGr straight \n", "59 GGGGGGGGGGGr straight \n", "60 GGGGGGGGGGGG left \n", "61 GGGGGGGGGGGr straight \n", "62 GGGGGGGGGGGr left \n", "63 GGGGGGGGGGGr NaN " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
04361098361A5517505517507grrrrgrrgrGgrrleft
14361098361B2517505517004grrrrgrrgGrgrrstraight
24361098362A8517509517507grrrrgGrgrrgrrstraight
34361098362B3517509517504grrrrgrGgrrgrrleft
44361098363A7517002517004grrrrgrrgrrgrGleft
54361098363B4517002517506grrrrgrrgrrgGrstraight
64361098364A6517003517504gGGGrgrrgrrgrrstraight
74361098364B1517003517506grrrGgrrgrrgrrleft
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "0 436 109836 1 A 5 517505 517507 \n", "1 436 109836 1 B 2 517505 517004 \n", "2 436 109836 2 A 8 517509 517507 \n", "3 436 109836 2 B 3 517509 517504 \n", "4 436 109836 3 A 7 517002 517004 \n", "5 436 109836 3 B 4 517002 517506 \n", "6 436 109836 4 A 6 517003 517504 \n", "7 436 109836 4 B 1 517003 517506 \n", "\n", " state turn_type \n", "0 grrrrgrrgrGgrr left \n", "1 grrrrgrrgGrgrr straight \n", "2 grrrrgGrgrrgrr straight \n", "3 grrrrgrGgrrgrr left \n", "4 grrrrgrrgrrgrG left \n", "5 grrrrgrrgrrgGr straight \n", "6 gGGGrgrrgrrgrr straight \n", "7 grrrGgrrgrrgrr left " ] }, "metadata": {}, "output_type": "display_data" }, { "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", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
644551099011A6513580513581GGrrstraight
654551099011B2513582513584rrGGstraight
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "64 455 109901 1 A 6 513580 513581 \n", "65 455 109901 1 B 2 513582 513584 \n", "\n", " state turn_type \n", "64 GGrr straight \n", "65 rrGG straight " ] }, "metadata": {}, "output_type": "display_data" }, { "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", " \n", " \n", " \n", " \n", "
inter_nonode_idphase_noring_typemove_noinc_edge_idout_edge_idstateturn_type
244371099861A6517054513840gGGGGrgrrgrrrrrgrrstraight
254371099861B2513841512766grrrrrgrrgGGGGrgrrstraight
264371099862A5513841513786grrrrrgrrgrrrrGgrrleft
274371099862B1517054513842grrrrGgrrgrrrrrgrrleft
284371099863A8513843513786grrrrrgGrgrrrrrgrrstraight
294371099863B3513843513840grrrrrgrGgrrrrrgrrleft
304371099864A7513785512766grrrrrgrrgrrrrrgrGleft
314371099864B4513785513842grrrrrgrrgrrrrrgGrstraight
\n", "
" ], "text/plain": [ " inter_no node_id phase_no ring_type move_no inc_edge_id out_edge_id \\\n", "24 437 109986 1 A 6 517054 513840 \n", "25 437 109986 1 B 2 513841 512766 \n", "26 437 109986 2 A 5 513841 513786 \n", "27 437 109986 2 B 1 517054 513842 \n", "28 437 109986 3 A 8 513843 513786 \n", "29 437 109986 3 B 3 513843 513840 \n", "30 437 109986 4 A 7 513785 512766 \n", "31 437 109986 4 B 4 513785 513842 \n", "\n", " state turn_type \n", "24 gGGGGrgrrgrrrrrgrr straight \n", "25 grrrrrgrrgGGGGrgrr straight \n", "26 grrrrrgrrgrrrrGgrr left \n", "27 grrrrGgrrgrrrrrgrr left \n", "28 grrrrrgGrgrrrrrgrr straight \n", "29 grrrrrgrGgrrrrrgrr left \n", "30 grrrrrgrrgrrrrrgrG left \n", "31 grrrrrgrrgrrrrrgGr straight " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# all red 검증\n", "for node_id, group in self.match6.groupby('node_id'):\n", " state_length = len(group.iloc[0].state)\n", " consistent_length = all([len(state)==state_length for state in group.state])\n", " if not consistent_length:\n", " print(f\"node_id : {node_id}에 대하여 state 길이가 일정하지 않습니다.\")\n", " any_non_red_indices = set()\n", " for state in group.state:\n", " state = list(state)\n", " any_non_red_indices.update({index for index, char in enumerate(state) if not char == 'r'})\n", " all_red_indices = set(range(state_length)) - any_non_red_indices\n", " all_red_state = ['g'] * state_length\n", " for ind in all_red_indices:\n", " all_red_state[ind] = 'r'\n", " all_red_state = ''.join(all_red_state)\n", " if all_red_indices:\n", " print(node_id)\n", " print(f'all_red_indices : {all_red_indices}')\n", " print(f'all_red_state : {all_red_state}')\n", " display(group)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "enode_id = '106332' # errornous node_id" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "self.make_match1()\n", "self.make_match2()\n", "self.make_match3()\n", "self.make_match4()\n", "self.make_match5()\n", "self.make_match6()\n", "self.match6" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 2. 중간산출물 만들기\n", "self.get_intermediates()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# 3. 이슈사항 저장\n", "self.write_issues()" ] } ], "metadata": { "kernelspec": { "display_name": "siggen_env", "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.12.4" } }, "nbformat": 4, "nbformat_minor": 2 }