{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import os, sys, json, argparse, 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 generate_signals import SignalGenerator" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-07-29 09:36:32\n", "1722213392\n", "2024-07-29 09:36:32\n" ] } ], "source": [ "time_str = '2024-07-29 9:36:32'\n", "time_dt = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')\n", "print(time_dt)\n", "time_unix = int(time_dt.timestamp())\n", "print(time_unix)\n", "print(datetime.fromtimestamp(time_unix))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "self = SignalGenerator(config_name='test_0731',\n", " file_net='new_sungnam_network_internal_target_0721.net.xml',\n", " month=7,\n", " day=31,\n", " hour=9,\n", " minute=5)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-1. 네트워크가 로드되었습니다.\n" ] } ], "source": [ "self.load_networks()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-2. 테이블들이 로드되었습니다.\n" ] } ], "source": [ "self.load_tables()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1722383967\n", "1722385038\n", "1722384300\n", "1722351600\n", "1722438000\n" ] } ], "source": [ "print(self.history.end_unix.min())\n", "print(self.history.end_unix.max())\n", "print(self.present_time)\n", "print(self.midnight)\n", "print(self.next_day)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# dura_As = [f'dura_A{i}' for i in range(1,9)]\n", "# dura_Bs = [f'dura_B{i}' for i in range(1,9)]\n", "# for i, row in self.plan.iterrows():\n", "# is_zero_A = (row[dura_As]==0).all()\n", "# is_zero_B = (row[dura_Bs]==0).all()\n", "# assert not (is_zero_A & is_zero_B)\n", "# if is_zero_B:\n", "# for j in range(1, 9):\n", "# self.plan.at[i, f'dura_B{j}'] = row[f'dura_A{j}']\n", "# if is_zero_A:\n", "# for j in range(1, 9):\n", "# self.plan.at[i, f'dura_A{j}'] = row[f'dura_B{j}']" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-5. 필요한 보조 객체들이 모두 준비되었습니다.\n" ] } ], "source": [ "self.prepare_auxiliaries()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# valid_parent_ids = [self.inter2node[inter_no] for inter_no in set(self.history.inter_no)]\n", "# invalid_parent_ids = [parent_id for parent_id in self.parent_ids if not parent_id in valid_parent_ids ]\n", "# print(sorted(self.parent_ids))\n", "# print(sorted(valid_parent_ids))\n", "# print(sorted(invalid_parent_ids))\n", "# invalid_child_ids = []\n", "# for parent_id in invalid_parent_ids:\n", "# invalid_child_ids.extend(self.pa2ch[parent_id])\n", "# print(sorted(invalid_child_ids))\n", "\n", "# print()\n", "# print()\n", "# self.parent_ids = sorted(set(self.parent_ids) - set(invalid_parent_ids))\n", "# self.node_ids = sorted(set(self.node_ids) - set(invalid_parent_ids))\n", "# self.child_ids = sorted(set(self.child_ids) - set(invalid_child_ids))\n", "# self.uturn_ids = sorted(set(self.uturn_ids) - set(invalid_child_ids))\n", "# self.coord_ids = sorted(set(self.coord_ids) - set(invalid_child_ids))\n", "# print(self.parent_ids)\n", "# print(self.node_ids)\n", "# print(self.child_ids)\n", "# print(self.uturn_ids)\n", "# print(self.coord_ids)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 442, 443, 455, 456, 457]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(inter_no for inter_no in set(self.history.inter_no))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2. 신호이력 테이블을 변환합니다.\n" ] }, { "data": { "text/plain": [ "[436, 437, 442, 443, 455, 456, 457]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.process_history()\n", "sorted(inter_no for inter_no in set(self.rhistory.inter_no))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 442, 443, 455, 456, 457]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(inter_no for inter_no in set(self.rhists.inter_no))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 442, 443, 455, 456, 457]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(inter_no for inter_no in set(self.hrhists.inter_no))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3. 이동류정보 테이블을 변환합니다.\n" ] }, { "data": { "text/plain": [ "[436, 437, 438, 442, 443, 444, 455, 456, 457, 458]" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.process_movement()\n", "sorted(inter_no for inter_no in set(self.movement.inter_no))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4. 통합 테이블을 생성합니다.\n" ] } ], "source": [ "self.make_histids()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 438, 442, 443, 444, 455, 456, 457, 458]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(inter_no for inter_no in set(self.movement_updated.inter_no))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 442, 443, 455, 456, 457]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(inter_no for inter_no in set(self.movedur.inter_no))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 442, 443, 455, 456, 457]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(inter_no for inter_no in set(self.histid.inter_no))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['106231', '106234', '106332', '108769', '109836', '109901', '109986']" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(node_id for node_id in set(self.histid.node_id))" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 442, 443, 455, 456, 457]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(inter_no for inter_no in set(self.histids.inter_no))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['106231',\n", " '106234',\n", " '106332',\n", " '107587',\n", " '108769',\n", " '109295',\n", " '109296',\n", " '109297',\n", " '109313',\n", " '109333',\n", " '109836',\n", " '109901',\n", " '109986']" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(node_id for node_id in set(self.histids.node_id))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "self.set_timepoints()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n" ] } ], "source": [ "self.assign_red_yellow()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "455" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.node2inter[self.node_ids[11]]" ] }, { "cell_type": "code", "execution_count": null, "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", "
inter_noplan_nostart_hourstart_minutecycleoffsetdura_A1dura_A2dura_A3dura_A4...yellow_A4yellow_B4red_A5red_B5yellow_A5yellow_B5red_A6red_B6yellow_A6yellow_B6
194551609063632700...4400440044
\n", "

1 rows × 47 columns

\n", "
" ], "text/plain": [ " inter_no plan_no start_hour start_minute cycle offset dura_A1 \\\n", "19 455 1 6 0 90 63 63 \n", "\n", " dura_A2 dura_A3 dura_A4 ... yellow_A4 yellow_B4 red_A5 red_B5 \\\n", "19 27 0 0 ... 4 4 0 0 \n", "\n", " yellow_A5 yellow_B5 red_A6 red_B6 yellow_A6 yellow_B6 \n", "19 4 4 0 0 4 4 \n", "\n", "[1 rows x 47 columns]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.plan[self.plan.inter_no==455]" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "109901\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", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1574551099011722383976116263GGrrrrGG0
1584551099011722384066116263GGrrrrGG0
1594551099011722384067116263GGrrrrGG0
1604551099011722384155116263GGrrrrGG0
1614551099011722384156116263GGrrrrGG0
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "157 455 109901 1722383976 1 1 6 2 63 \n", "158 455 109901 1722384066 1 1 6 2 63 \n", "159 455 109901 1722384067 1 1 6 2 63 \n", "160 455 109901 1722384155 1 1 6 2 63 \n", "161 455 109901 1722384156 1 1 6 2 63 \n", "\n", " state_A state_B phase_sumo \n", "157 GGrr rrGG 0 \n", "158 GGrr rrGG 0 \n", "159 GGrr rrGG 0 \n", "160 GGrr rrGG 0 \n", "161 GGrr rrGG 0 " ] }, "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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumored_Ared_Byellow_Ayellow_B
1574551099011722383976116263GGrrrrGG00.00.04.04.0
1584551099011722384066116263GGrrrrGG00.00.04.04.0
1594551099011722384067116263GGrrrrGG00.00.04.04.0
1604551099011722384155116263GGrrrrGG00.00.04.04.0
1614551099011722384156116263GGrrrrGG00.00.04.04.0
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "157 455 109901 1722383976 1 1 6 2 63 \n", "158 455 109901 1722384066 1 1 6 2 63 \n", "159 455 109901 1722384067 1 1 6 2 63 \n", "160 455 109901 1722384155 1 1 6 2 63 \n", "161 455 109901 1722384156 1 1 6 2 63 \n", "\n", " state_A state_B phase_sumo red_A red_B yellow_A yellow_B \n", "157 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", "158 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", "159 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", "160 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", "161 GGrr rrGG 0 0.0 0.0 4.0 4.0 " ] }, "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", "
inter_nonode_idstart_unixphas_Aphas_Bdurationstate_Astate_Bphase_sumored_Ared_Byellow_Ayellow_B
15745510990117223839761163GGrrrrGG00044
15845510990117223840661163GGrrrrGG00044
15945510990117223840671163GGrrrrGG00044
16045510990117223841551163GGrrrrGG00044
16145510990117223841561163GGrrrrGG00044
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B duration state_A state_B \\\n", "157 455 109901 1722383976 1 1 63 GGrr rrGG \n", "158 455 109901 1722384066 1 1 63 GGrr rrGG \n", "159 455 109901 1722384067 1 1 63 GGrr rrGG \n", "160 455 109901 1722384155 1 1 63 GGrr rrGG \n", "161 455 109901 1722384156 1 1 63 GGrr rrGG \n", "\n", " phase_sumo red_A red_B yellow_A yellow_B \n", "157 0 0 0 4 4 \n", "158 0 0 0 4 4 \n", "159 0 0 0 4 4 \n", "160 0 0 0 4 4 \n", "161 0 0 0 4 4 " ] }, "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", "
start_unixphas_Adurationstate_Ared_Ayellow_A
01722383976163GGrr04
11722384066163GGrr04
21722384067163GGrr04
31722384155163GGrr04
41722384156163GGrr04
\n", "
" ], "text/plain": [ " start_unix phas_A duration state_A red_A yellow_A\n", "0 1722383976 1 63 GGrr 0 4\n", "1 1722384066 1 63 GGrr 0 4\n", "2 1722384067 1 63 GGrr 0 4\n", "3 1722384155 1 63 GGrr 0 4\n", "4 1722384156 1 63 GGrr 0 4" ] }, "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", "
start_unixphas_Bdurationstate_Bred_Byellow_B
01722383976163rrGG04
11722384066163rrGG04
21722384067163rrGG04
31722384155163rrGG04
41722384156163rrGG04
\n", "
" ], "text/plain": [ " start_unix phas_B duration state_B red_B yellow_B\n", "0 1722383976 1 63 rrGG 0 4\n", "1 1722384066 1 63 rrGG 0 4\n", "2 1722384067 1 63 rrGG 0 4\n", "3 1722384155 1 63 rrGG 0 4\n", "4 1722384156 1 63 rrGG 0 4" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "self.SIGTABLE = []\n", "node_id = self.node_ids[11]\n", "print(node_id)\n", "sig = self.sigtable.query('node_id==@node_id')\n", "display(sig)\n", "for i, row in sig.iterrows():\n", " inter_no = row.inter_no\n", " phas_A = row.phas_A\n", " phas_B = row.phas_B\n", " start_unix = row.start_unix\n", " prow = self.load_prow(inter_no, start_unix)[1].iloc[0]\n", " # 황색 및 적색시간 컬럼 생성\n", " red_A = prow[f'red_A{phas_A}']\n", " yellow_A = prow[f'yellow_A{phas_A}']\n", " red_B = prow[f'red_B{phas_B}']\n", " yellow_B = prow[f'yellow_B{phas_B}']\n", " sig.loc[i, ['red_A', 'red_B', 'yellow_A', 'yellow_B']] = red_A, red_B, yellow_A, yellow_B\n", "display(sig)\n", "sig = sig.astype({'red_A': int, 'red_B': int, 'yellow_A': int, 'yellow_B': int,\n", " 'phas_A':str, 'phas_B':str})\n", "sig = sig.drop(['move_A','move_B'], axis=1)\n", "display(sig)\n", "\n", "sig_A = sig[['start_unix', 'phas_A', 'duration', 'state_A', 'red_A', 'yellow_A']].reset_index(drop=True)\n", "sig_B = sig[['start_unix', 'phas_B', 'duration', 'state_B', 'red_B', 'yellow_B']].reset_index(drop=True)\n", "display(sig_A)\n", "display(sig_B)\n" ] }, { "cell_type": "code", "execution_count": 42, "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", "
start_timephas_Astate_Astart_unix
001gGGrr1722383976
1591yGGrr1722383976
2632rGGrr1722384066
3632gGGrr1722384066
41222yGGrr1722384066
51261rGGrr1722384067
61261gGGrr1722384067
71851yGGrr1722384067
81892rGGrr1722384155
91892gGGrr1722384155
102482yGGrr1722384155
112521rGGrr1722384156
122521gGGrr1722384156
133111yGGrr1722384156
\n", "
" ], "text/plain": [ " start_time phas_A state_A start_unix\n", "0 0 1g GGrr 1722383976\n", "1 59 1y GGrr 1722383976\n", "2 63 2r GGrr 1722384066\n", "3 63 2g GGrr 1722384066\n", "4 122 2y GGrr 1722384066\n", "5 126 1r GGrr 1722384067\n", "6 126 1g GGrr 1722384067\n", "7 185 1y GGrr 1722384067\n", "8 189 2r GGrr 1722384155\n", "9 189 2g GGrr 1722384155\n", "10 248 2y GGrr 1722384155\n", "11 252 1r GGrr 1722384156\n", "12 252 1g GGrr 1722384156\n", "13 311 1y GGrr 1722384156" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# csig_A = self.cumulate(sig_A, 'A')\n", "sig = sig_A\n", "alph = 'A'\n", "csig = [] # cumulated sig\n", "pre = pd.Series({f'phas_{alph}':None})\n", "\n", "sig[f'phas_{alph}'] = sig[f'phas_{alph}'].astype(int)\n", "# 만약 현시번호가 1로 일정하면 2현시를 가상으로 추가\n", "if (sig[f'phas_{alph}']==1).all():\n", " sig_dup = sig.copy() \n", " sig_dup[f'phas_{alph}'] = 2\n", " sig = pd.concat([sig, sig_dup]).sort_values(by=['start_unix', f'phas_{alph}'])\n", "\n", "start_time = 0\n", "elapsed = 0\n", "for i, cur in sig.iterrows():\n", " start_unix = cur.start_unix\n", " \n", " # pre, nex\n", " if i != 0:\n", " pre = sig.iloc[i-1]\n", " \n", " if i != len(sig) - 1:\n", " nex = sig.iloc[i+1]\n", " \n", " # duration\n", " if cur[f'phas_{alph}'] == nex[f'phas_{alph}']:\n", " continue\n", " if cur[f'phas_{alph}'] == pre[f'phas_{alph}']:\n", " duration = cur.duration + pre.duration\n", " else:\n", " duration = cur.duration\n", " start_times = []\n", " states = []\n", " phases = []\n", "\n", " # red\n", " if i != 0:\n", " start_time += elapsed\n", " start_times.append(start_time)\n", " states.append(self.get_red(pre[f'state_{alph}'], cur[f'state_{alph}']))\n", " phases.append(f'{cur[f\"phas_{alph}\"]}r')\n", "\n", " elapsed = cur[f'red_{alph}']\n", "\n", " # green\n", " if i == 0:\n", " start_time = 0\n", " else:\n", " start_time += elapsed\n", " start_times.append(start_time)\n", " states.append(cur[f'state_{alph}'])\n", " phases.append(f'{cur[f\"phas_{alph}\"]}g')\n", " if i == 0:\n", " elapsed = duration - cur[f'yellow_{alph}']\n", " else:\n", " elapsed = duration - cur[f'yellow_{alph}'] - cur[f'red_{alph}']\n", "\n", " # yellow\n", " if i != len(sig) - 1:\n", " start_time += elapsed\n", " start_times.append(start_time)\n", " states.append(self.get_yellow(cur[f'state_{alph}'], nex[f'state_{alph}']))\n", " phases.append(f'{cur[f\"phas_{alph}\"]}y')\n", " elapsed = cur[f'yellow_{alph}']\n", " sig_ = pd.DataFrame({'start_time':start_times, f'phas_{alph}':phases, f'state_{alph}':states})\n", " sig_['start_unix'] = start_unix\n", " csig.append(sig_)\n", "csig = pd.concat(csig).reset_index(drop=True)\n", "csig\n" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "109901\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", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1574551099011722383976116263GGrrrrGG0
1584551099011722384066116263GGrrrrGG0
1594551099011722384067116263GGrrrrGG0
1604551099011722384155116263GGrrrrGG0
1614551099011722384156116263GGrrrrGG0
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "157 455 109901 1722383976 1 1 6 2 63 \n", "158 455 109901 1722384066 1 1 6 2 63 \n", "159 455 109901 1722384067 1 1 6 2 63 \n", "160 455 109901 1722384155 1 1 6 2 63 \n", "161 455 109901 1722384156 1 1 6 2 63 \n", "\n", " state_A state_B phase_sumo \n", "157 GGrr rrGG 0 \n", "158 GGrr rrGG 0 \n", "159 GGrr rrGG 0 \n", "160 GGrr rrGG 0 \n", "161 GGrr rrGG 0 " ] }, "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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumored_Ared_Byellow_Ayellow_B
1574551099011722383976116263GGrrrrGG00.00.04.04.0
1584551099011722384066116263GGrrrrGG00.00.04.04.0
1594551099011722384067116263GGrrrrGG00.00.04.04.0
1604551099011722384155116263GGrrrrGG00.00.04.04.0
1614551099011722384156116263GGrrrrGG00.00.04.04.0
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "157 455 109901 1722383976 1 1 6 2 63 \n", "158 455 109901 1722384066 1 1 6 2 63 \n", "159 455 109901 1722384067 1 1 6 2 63 \n", "160 455 109901 1722384155 1 1 6 2 63 \n", "161 455 109901 1722384156 1 1 6 2 63 \n", "\n", " state_A state_B phase_sumo red_A red_B yellow_A yellow_B \n", "157 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", "158 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", "159 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", "160 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", "161 GGrr rrGG 0 0.0 0.0 4.0 4.0 " ] }, "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", "
inter_nonode_idstart_unixphas_Aphas_Bdurationstate_Astate_Bphase_sumored_Ared_Byellow_Ayellow_B
15745510990117223839761163GGrrrrGG00044
15845510990117223840661163GGrrrrGG00044
15945510990117223840671163GGrrrrGG00044
16045510990117223841551163GGrrrrGG00044
16145510990117223841561163GGrrrrGG00044
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B duration state_A state_B \\\n", "157 455 109901 1722383976 1 1 63 GGrr rrGG \n", "158 455 109901 1722384066 1 1 63 GGrr rrGG \n", "159 455 109901 1722384067 1 1 63 GGrr rrGG \n", "160 455 109901 1722384155 1 1 63 GGrr rrGG \n", "161 455 109901 1722384156 1 1 63 GGrr rrGG \n", "\n", " phase_sumo red_A red_B yellow_A yellow_B \n", "157 0 0 0 4 4 \n", "158 0 0 0 4 4 \n", "159 0 0 0 4 4 \n", "160 0 0 0 4 4 \n", "161 0 0 0 4 4 " ] }, "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", "
start_unixphas_Adurationstate_Ared_Ayellow_A
01722383976163GGrr04
11722384066163GGrr04
21722384067163GGrr04
31722384155163GGrr04
41722384156163GGrr04
\n", "
" ], "text/plain": [ " start_unix phas_A duration state_A red_A yellow_A\n", "0 1722383976 1 63 GGrr 0 4\n", "1 1722384066 1 63 GGrr 0 4\n", "2 1722384067 1 63 GGrr 0 4\n", "3 1722384155 1 63 GGrr 0 4\n", "4 1722384156 1 63 GGrr 0 4" ] }, "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", "
start_unixphas_Bdurationstate_Bred_Byellow_B
01722383976163rrGG04
11722384066163rrGG04
21722384067163rrGG04
31722384155163rrGG04
41722384156163rrGG04
\n", "
" ], "text/plain": [ " start_unix phas_B duration state_B red_B yellow_B\n", "0 1722383976 1 63 rrGG 0 4\n", "1 1722384066 1 63 rrGG 0 4\n", "2 1722384067 1 63 rrGG 0 4\n", "3 1722384155 1 63 rrGG 0 4\n", "4 1722384156 1 63 rrGG 0 4" ] }, "metadata": {}, "output_type": "display_data" }, { "ename": "ValueError", "evalue": "No objects to concatenate", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[50], line 29\u001b[0m\n\u001b[0;32m 26\u001b[0m display(sig_A)\n\u001b[0;32m 27\u001b[0m display(sig_B)\n\u001b[1;32m---> 29\u001b[0m csig_A \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcumulate\u001b[49m\u001b[43m(\u001b[49m\u001b[43msig_A\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mA\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 30\u001b[0m csig_B \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcumulate(sig_B, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mB\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m 31\u001b[0m display(csig_A)\n", "File \u001b[1;32mc:\\github\\siggen\\scripts\\generate_signals.py:942\u001b[0m, in \u001b[0;36mSignalGenerator.cumulate\u001b[1;34m(self, sig, alph)\u001b[0m\n\u001b[0;32m 940\u001b[0m sig_[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstart_unix\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m start_unix\n\u001b[0;32m 941\u001b[0m csig\u001b[38;5;241m.\u001b[39mappend(sig_)\n\u001b[1;32m--> 942\u001b[0m csig \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconcat\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcsig\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mreset_index(drop\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m 943\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m csig\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\reshape\\concat.py:382\u001b[0m, in \u001b[0;36mconcat\u001b[1;34m(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[0m\n\u001b[0;32m 379\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m copy \u001b[38;5;129;01mand\u001b[39;00m using_copy_on_write():\n\u001b[0;32m 380\u001b[0m copy \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[1;32m--> 382\u001b[0m op \u001b[38;5;241m=\u001b[39m \u001b[43m_Concatenator\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 383\u001b[0m \u001b[43m \u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 384\u001b[0m \u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 385\u001b[0m \u001b[43m \u001b[49m\u001b[43mignore_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 386\u001b[0m \u001b[43m \u001b[49m\u001b[43mjoin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mjoin\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 387\u001b[0m \u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 388\u001b[0m \u001b[43m \u001b[49m\u001b[43mlevels\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 389\u001b[0m \u001b[43m \u001b[49m\u001b[43mnames\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnames\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 390\u001b[0m \u001b[43m \u001b[49m\u001b[43mverify_integrity\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mverify_integrity\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 391\u001b[0m \u001b[43m \u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcopy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 392\u001b[0m \u001b[43m \u001b[49m\u001b[43msort\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msort\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 393\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 395\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m op\u001b[38;5;241m.\u001b[39mget_result()\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\reshape\\concat.py:445\u001b[0m, in \u001b[0;36m_Concatenator.__init__\u001b[1;34m(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[0m\n\u001b[0;32m 442\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mverify_integrity \u001b[38;5;241m=\u001b[39m verify_integrity\n\u001b[0;32m 443\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcopy \u001b[38;5;241m=\u001b[39m copy\n\u001b[1;32m--> 445\u001b[0m objs, keys \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_clean_keys_and_objs\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 447\u001b[0m \u001b[38;5;66;03m# figure out what our result ndim is going to be\u001b[39;00m\n\u001b[0;32m 448\u001b[0m ndims \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_ndims(objs)\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\reshape\\concat.py:507\u001b[0m, in \u001b[0;36m_Concatenator._clean_keys_and_objs\u001b[1;34m(self, objs, keys)\u001b[0m\n\u001b[0;32m 504\u001b[0m objs_list \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(objs)\n\u001b[0;32m 506\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(objs_list) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m--> 507\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo objects to concatenate\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 509\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m keys \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 510\u001b[0m objs_list \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(com\u001b[38;5;241m.\u001b[39mnot_none(\u001b[38;5;241m*\u001b[39mobjs_list))\n", "\u001b[1;31mValueError\u001b[0m: No objects to concatenate" ] } ], "source": [ "self.SIGTABLE = []\n", "node_id = self.node_ids[11]\n", "print(node_id)\n", "sig = self.sigtable.query('node_id==@node_id')\n", "display(sig)\n", "for i, row in sig.iterrows():\n", " inter_no = row.inter_no\n", " phas_A = row.phas_A\n", " phas_B = row.phas_B\n", " start_unix = row.start_unix\n", " prow = self.load_prow(inter_no, start_unix)[1].iloc[0]\n", " # 황색 및 적색시간 컬럼 생성\n", " red_A = prow[f'red_A{phas_A}']\n", " yellow_A = prow[f'yellow_A{phas_A}']\n", " red_B = prow[f'red_B{phas_B}']\n", " yellow_B = prow[f'yellow_B{phas_B}']\n", " sig.loc[i, ['red_A', 'red_B', 'yellow_A', 'yellow_B']] = red_A, red_B, yellow_A, yellow_B\n", "display(sig)\n", "sig = sig.astype({'red_A': int, 'red_B': int, 'yellow_A': int, 'yellow_B': int,\n", " 'phas_A':str, 'phas_B':str})\n", "sig = sig.drop(['move_A','move_B'], axis=1)\n", "display(sig)\n", "\n", "sig_A = sig[['start_unix', 'phas_A', 'duration', 'state_A', 'red_A', 'yellow_A']].reset_index(drop=True)\n", "sig_B = sig[['start_unix', 'phas_B', 'duration', 'state_B', 'red_B', 'yellow_B']].reset_index(drop=True)\n", "display(sig_A)\n", "display(sig_B)\n", "\n", "csig_A = self.cumulate(sig_A, 'A')\n", "csig_B = self.cumulate(sig_B, 'B')\n", "display(csig_A)\n", "display(csig_B)\n", "\n", "SIG = pd.merge(csig_A, csig_B, on=['start_time', 'start_unix'], how='outer')\n", "display(SIG[:40])\n", "SIG = SIG.sort_values(by='start_time').reset_index(drop=True)\n", "SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "SIG['phase'] = SIG['phas_A'] + \"_\" + SIG['phas_B']\n", "SIG['node_id'] = node_id\n", "SIG = SIG[['node_id', 'start_unix', 'start_time', 'phase', 'state_A', 'state_B']]\n", "SIG['duration'] = SIG['start_time'].shift(-1) - SIG['start_time']\n", "SIG = SIG[:-1]\n", "SIG['duration'] = SIG['duration'].astype(int)\n", "display(SIG[:40])\n", "for row in SIG.itertuples():\n", " state = ''\n", " for a, b, in zip(row.state_A, row.state_B):\n", " if a == 'r':\n", " state += b\n", " elif b == 'r':\n", " state += a\n", " elif a == b:\n", " state += a\n", " else:\n", " raise ValueError(f\"예상되지 않은 조합 발생: a={a}, b={b}\")\n", " SIG.at[row.Index, 'state'] = state\n", "display(SIG[:40])\n", "SIG = SIG[SIG.duration!=0]\n", "SIG = SIG.drop(columns=['start_time', 'state_A', 'state_B'])\n", "display(SIG[:40])\n", "self.SIGTABLE.append(SIG)\n" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1722384300\n", "300\n" ] } ], "source": [ "self.offsets = {}\n", "self.sigtable = []\n", "sim_start = self.present_time - self.sim_timespan\n", "print(self.present_time)\n", "print(self.sim_timespan)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1722383877" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "node_id = '106231'\n", "group = self.histids[self.histids.node_id==node_id]\n", "min_start_unix = int(group['start_unix'].min())\n", "min_start_unix" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1722384007 1722384000 200\n", "True\n", " hello \n", "1722384007\n" ] } ], "source": [ "node_id = '107587'\n", "group = self.histids[self.histids.node_id==node_id]\n", "series = group[group['start_unix'] < sim_start]['start_unix']\n", "min_start_unix = int(group['start_unix'].min())\n", "inter_no = self.node2inter[node_id]\n", "_, prow = self.load_prow(inter_no, min_start_unix)\n", "cycle = prow.iloc[0]['cycle']\n", "lsbs = min_start_unix\n", "print(lsbs, sim_start, cycle)\n", "print(lsbs > sim_start)\n", "print(type(lsbs), 'hello', type(sim_start))\n", "while lsbs > sim_start:\n", " lsbs -= cycle\n", "print(min_start_unix)\n" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "self.offsets = {}\n", "self.sigtable = []\n", "sim_start = self.present_time - self.sim_timespan\n", "for node_id, group in self.histids.groupby('node_id'):\n", " series = group[group['start_unix'] < sim_start]['start_unix']\n", " # lsbs : the last start_unix before sim_start\n", " if len(series):\n", " lsbs = series.max()\n", " else:\n", " min_start_unix = int(group['start_unix'].min())\n", " inter_no = self.node2inter[node_id]\n", " _, prow = self.load_prow(inter_no, min_start_unix)\n", " cycle = prow.iloc[0]['cycle']\n", " lsbs = min_start_unix\n", " while lsbs > sim_start:\n", " lsbs -= cycle\n", " self.offsets[node_id] = lsbs - sim_start\n", " group = group[group.start_unix >= lsbs]\n", " start_unixes = np.array(group.start_unix)\n", " start_unixes = np.sort(np.unique(start_unixes))[:self.node2num_cycles[node_id]]\n", "\n", " group = group[group.start_unix.isin(start_unixes)]\n", " self.sigtable.append(group)\n", "self.sigtable = pd.concat(self.sigtable).reset_index(drop=True)\n", "self.sigtable['phase_sumo'] = self.sigtable.groupby(['node_id', 'start_unix']).cumcount()" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 442, 443, 455, 456, 457]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(inter_no for inter_no in set(self.sigtable.inter_no))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['106231',\n", " '106234',\n", " '106332',\n", " '107587',\n", " '108769',\n", " '109295',\n", " '109296',\n", " '109297',\n", " '109313',\n", " '109333',\n", " '109836',\n", " '109901',\n", " '109986']" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(node_id for node_id in set(self.sigtable.node_id))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "# 5-1\n", "self.set_timepoints()" ] }, { "cell_type": "code", "execution_count": 34, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
04561062311722383968115215grgrrrrGgrgrrGGr0
14561062311722383968226228grgGGrrrgrgrrGGr1
24561062311722383968337712gGgrrrrrgGgrrrrr2
3456106231172238396844171735grgrrrrrgrgrrrrr3
44561062311722384057115215grgrrrrGgrgrrGGr0
54561062311722384057226228grgGGrrrgrgrrGGr1
64561062311722384057337712gGgrrrrrgGgrrrrr2
7456106231172238405744171735grgrrrrrgrgrrrrr3
84561062311722384058115215grgrrrrGgrgrrGGr0
94561062311722384058226228grgGGrrrgrgrrGGr1
104561062311722384058337712gGgrrrrrgGgrrrrr2
11456106231172238405844171735grgrrrrrgrgrrrrr3
124561062311722384147115215grgrrrrGgrgrrGGr0
134561062311722384147115215grgrrrrGgrgrrGGr1
144561062311722384147226228grgGGrrrgrgrrGGr2
154561062311722384147226228grgGGrrrgrgrrGGr3
164561062311722384147337712gGgrrrrrgGgrrrrr4
174561062311722384147337712gGgrrrrrgGgrrrrr5
18456106231172238414744171735grgrrrrrgrgrrrrr6
19456106231172238414744171735grgrrrrrgrgrrrrr7
204561062311722384237115215grgrrrrGgrgrrGGr0
214561062311722384237226228grgGGrrrgrgrrGGr1
224561062311722384237337712gGgrrrrrgGgrrrrr2
23456106231172238423744171735grgrrrrrgrgrrrrr3
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "0 456 106231 1722383968 1 1 5 2 15 \n", "1 456 106231 1722383968 2 2 6 2 28 \n", "2 456 106231 1722383968 3 3 7 7 12 \n", "3 456 106231 1722383968 4 4 17 17 35 \n", "4 456 106231 1722384057 1 1 5 2 15 \n", "5 456 106231 1722384057 2 2 6 2 28 \n", "6 456 106231 1722384057 3 3 7 7 12 \n", "7 456 106231 1722384057 4 4 17 17 35 \n", "8 456 106231 1722384058 1 1 5 2 15 \n", "9 456 106231 1722384058 2 2 6 2 28 \n", "10 456 106231 1722384058 3 3 7 7 12 \n", "11 456 106231 1722384058 4 4 17 17 35 \n", "12 456 106231 1722384147 1 1 5 2 15 \n", "13 456 106231 1722384147 1 1 5 2 15 \n", "14 456 106231 1722384147 2 2 6 2 28 \n", "15 456 106231 1722384147 2 2 6 2 28 \n", "16 456 106231 1722384147 3 3 7 7 12 \n", "17 456 106231 1722384147 3 3 7 7 12 \n", "18 456 106231 1722384147 4 4 17 17 35 \n", "19 456 106231 1722384147 4 4 17 17 35 \n", "20 456 106231 1722384237 1 1 5 2 15 \n", "21 456 106231 1722384237 2 2 6 2 28 \n", "22 456 106231 1722384237 3 3 7 7 12 \n", "23 456 106231 1722384237 4 4 17 17 35 \n", "\n", " state_A state_B phase_sumo \n", "0 grgrrrrG grgrrGGr 0 \n", "1 grgGGrrr grgrrGGr 1 \n", "2 gGgrrrrr gGgrrrrr 2 \n", "3 grgrrrrr grgrrrrr 3 \n", "4 grgrrrrG grgrrGGr 0 \n", "5 grgGGrrr grgrrGGr 1 \n", "6 gGgrrrrr gGgrrrrr 2 \n", "7 grgrrrrr grgrrrrr 3 \n", "8 grgrrrrG grgrrGGr 0 \n", "9 grgGGrrr grgrrGGr 1 \n", "10 gGgrrrrr gGgrrrrr 2 \n", "11 grgrrrrr grgrrrrr 3 \n", "12 grgrrrrG grgrrGGr 0 \n", "13 grgrrrrG grgrrGGr 1 \n", "14 grgGGrrr grgrrGGr 2 \n", "15 grgGGrrr grgrrGGr 3 \n", "16 gGgrrrrr gGgrrrrr 4 \n", "17 gGgrrrrr gGgrrrrr 5 \n", "18 grgrrrrr grgrrrrr 6 \n", "19 grgrrrrr grgrrrrr 7 \n", "20 grgrrrrG grgrrGGr 0 \n", "21 grgGGrrr grgrrGGr 1 \n", "22 gGgrrrrr gGgrrrrr 2 \n", "23 grgrrrrr grgrrrrr 3 " ] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
244571062341722383873116245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr0
254571062341722383873225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr1
26457106234172238387333171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr2
274571062341722383873448335grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr3
284571062341722383873557440grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr4
294571062341722384052116245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr0
304571062341722384052225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr1
31457106234172238405233171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr2
324571062341722384052448340grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr3
334571062341722384052557435grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr4
344571062341722384232116245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr0
354571062341722384232225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr1
36457106234172238423233171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr2
374571062341722384232448340grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr3
384571062341722384232557435grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr4
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "24 457 106234 1722383873 1 1 6 2 45 \n", "25 457 106234 1722383873 2 2 5 1 20 \n", "26 457 106234 1722383873 3 3 17 17 40 \n", "27 457 106234 1722383873 4 4 8 3 35 \n", "28 457 106234 1722383873 5 5 7 4 40 \n", "29 457 106234 1722384052 1 1 6 2 45 \n", "30 457 106234 1722384052 2 2 5 1 20 \n", "31 457 106234 1722384052 3 3 17 17 40 \n", "32 457 106234 1722384052 4 4 8 3 40 \n", "33 457 106234 1722384052 5 5 7 4 35 \n", "34 457 106234 1722384232 1 1 6 2 45 \n", "35 457 106234 1722384232 2 2 5 1 20 \n", "36 457 106234 1722384232 3 3 17 17 40 \n", "37 457 106234 1722384232 4 4 8 3 40 \n", "38 457 106234 1722384232 5 5 7 4 35 \n", "\n", " state_A state_B phase_sumo \n", "24 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr 0 \n", "25 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr 1 \n", "26 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr 2 \n", "27 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr 3 \n", "28 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr 4 \n", "29 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr 0 \n", "30 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr 1 \n", "31 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr 2 \n", "32 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr 3 \n", "33 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr 4 \n", "34 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr 0 \n", "35 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr 1 \n", "36 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr 2 \n", "37 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr 3 \n", "38 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr 4 " ] }, "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", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [inter_no, node_id, start_unix, phas_A, phas_B, move_A, move_B, duration, state_A, state_B, phase_sumo]\n", "Index: []" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "106238\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
394421063321722383898116131gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr0
404421063321722383898226227gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr1
414421063321722383898335232grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr2
424421063321722383898447449grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr3
434421063321722383898558345grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr4
444421063321722383898668316grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr5
454421063321722384097116135gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr0
464421063321722384097226227gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr1
474421063321722384097335230grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr2
484421063321722384097447447grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr3
494421063321722384097558345grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr4
504421063321722384097668316grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr5
514421063321722384297116135gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr0
524421063321722384297226227gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr1
534421063321722384297335230grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr2
544421063321722384297447447grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr3
554421063321722384297558345grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr4
564421063321722384297668316grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr5
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "39 442 106332 1722383898 1 1 6 1 31 \n", "40 442 106332 1722383898 2 2 6 2 27 \n", "41 442 106332 1722383898 3 3 5 2 32 \n", "42 442 106332 1722383898 4 4 7 4 49 \n", "43 442 106332 1722383898 5 5 8 3 45 \n", "44 442 106332 1722383898 6 6 8 3 16 \n", "45 442 106332 1722384097 1 1 6 1 35 \n", "46 442 106332 1722384097 2 2 6 2 27 \n", "47 442 106332 1722384097 3 3 5 2 30 \n", "48 442 106332 1722384097 4 4 7 4 47 \n", "49 442 106332 1722384097 5 5 8 3 45 \n", "50 442 106332 1722384097 6 6 8 3 16 \n", "51 442 106332 1722384297 1 1 6 1 35 \n", "52 442 106332 1722384297 2 2 6 2 27 \n", "53 442 106332 1722384297 3 3 5 2 30 \n", "54 442 106332 1722384297 4 4 7 4 47 \n", "55 442 106332 1722384297 5 5 8 3 45 \n", "56 442 106332 1722384297 6 6 8 3 16 \n", "\n", " state_A state_B phase_sumo \n", "39 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr 0 \n", "40 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 1 \n", "41 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 2 \n", "42 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr 3 \n", "43 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 4 \n", "44 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 5 \n", "45 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr 0 \n", "46 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 1 \n", "47 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 2 \n", "48 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr 3 \n", "49 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 4 \n", "50 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 5 \n", "51 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr 0 \n", "52 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 1 \n", "53 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 2 \n", "54 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr 3 \n", "55 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 4 \n", "56 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 5 " ] }, "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", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
\n", "
" ], "text/plain": [ "Empty DataFrame\n", "Columns: [inter_no, node_id, start_unix, phas_A, phas_B, move_A, move_B, duration, state_A, state_B, phase_sumo]\n", "Index: []" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "106350\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", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
6544310876917223839021162125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr0
664431087691722383902225225grrrrrrrrrrGgrrgrrrrrGGGGGrgrr1
6744310876917223839023371850grrrrrrrrrrrgGGgrrrrrrrrrrrgrr2
6844310876917223841021162125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr0
694431087691722384102225225grrrrrrrrrrGgrrgrrrrrGGGGGrgrr1
7044310876917223841023371850grrrrrrrrrrrgGGgrrrrrrrrrrrgrr2
7144310876917223843021162125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr0
724431087691722384302225225grrrrrrrrrrGgrrgrrrrrGGGGGrgrr1
7344310876917223843023371850grrrrrrrrrrrgGGgrrrrrrrrrrrgrr2
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "65 443 108769 1722383902 1 1 6 2 125 \n", "66 443 108769 1722383902 2 2 5 2 25 \n", "67 443 108769 1722383902 3 3 7 18 50 \n", "68 443 108769 1722384102 1 1 6 2 125 \n", "69 443 108769 1722384102 2 2 5 2 25 \n", "70 443 108769 1722384102 3 3 7 18 50 \n", "71 443 108769 1722384302 1 1 6 2 125 \n", "72 443 108769 1722384302 2 2 5 2 25 \n", "73 443 108769 1722384302 3 3 7 18 50 \n", "\n", " state_A state_B phase_sumo \n", "65 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr 0 \n", "66 grrrrrrrrrrGgrr grrrrrGGGGGrgrr 1 \n", "67 grrrrrrrrrrrgGG grrrrrrrrrrrgrr 2 \n", "68 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr 0 \n", "69 grrrrrrrrrrGgrr grrrrrGGGGGrgrr 1 \n", "70 grrrrrrrrrrrgGG grrrrrrrrrrrgrr 2 \n", "71 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr 0 \n", "72 grrrrrrrrrrGgrr grrrrrGGGGGrgrr 1 \n", "73 grrrrrrrrrrrgGG grrrrrrrrrrrgrr 2 " ] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1454361098361722384036115250grrrrgrrgrGgrrgrrrrgrrgGrgrr0
1464361098361722384036228385grrrrgGrgrrgrrgrrrrgrGgrrgrr1
1474361098361722384036337435grrrrgrrgrrgrGgrrrrgrrgrrgGr2
1484361098361722384036446130gGGGrgrrgrrgrrgrrrGgrrgrrgrr3
1494361098361722384236115250grrrrgrrgrGgrrgrrrrgrrgGrgrr0
1504361098361722384236228385grrrrgGrgrrgrrgrrrrgrGgrrgrr1
1514361098361722384236337435grrrrgrrgrrgrGgrrrrgrrgrrgGr2
1524361098361722384236446130gGGGrgrrgrrgrrgrrrGgrrgrrgrr3
1534361098361722384436115250grrrrgrrgrGgrrgrrrrgrrgGrgrr0
1544361098361722384436228385grrrrgGrgrrgrrgrrrrgrGgrrgrr1
1554361098361722384436337435grrrrgrrgrrgrGgrrrrgrrgrrgGr2
1564361098361722384436446130gGGGrgrrgrrgrrgrrrGgrrgrrgrr3
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "145 436 109836 1722384036 1 1 5 2 50 \n", "146 436 109836 1722384036 2 2 8 3 85 \n", "147 436 109836 1722384036 3 3 7 4 35 \n", "148 436 109836 1722384036 4 4 6 1 30 \n", "149 436 109836 1722384236 1 1 5 2 50 \n", "150 436 109836 1722384236 2 2 8 3 85 \n", "151 436 109836 1722384236 3 3 7 4 35 \n", "152 436 109836 1722384236 4 4 6 1 30 \n", "153 436 109836 1722384436 1 1 5 2 50 \n", "154 436 109836 1722384436 2 2 8 3 85 \n", "155 436 109836 1722384436 3 3 7 4 35 \n", "156 436 109836 1722384436 4 4 6 1 30 \n", "\n", " state_A state_B phase_sumo \n", "145 grrrrgrrgrGgrr grrrrgrrgGrgrr 0 \n", "146 grrrrgGrgrrgrr grrrrgrGgrrgrr 1 \n", "147 grrrrgrrgrrgrG grrrrgrrgrrgGr 2 \n", "148 gGGGrgrrgrrgrr grrrGgrrgrrgrr 3 \n", "149 grrrrgrrgrGgrr grrrrgrrgGrgrr 0 \n", "150 grrrrgGrgrrgrr grrrrgrGgrrgrr 1 \n", "151 grrrrgrrgrrgrG grrrrgrrgrrgGr 2 \n", "152 gGGGrgrrgrrgrr grrrGgrrgrrgrr 3 \n", "153 grrrrgrrgrGgrr grrrrgrrgGrgrr 0 \n", "154 grrrrgGrgrrgrr grrrrgrGgrrgrr 1 \n", "155 grrrrgrrgrrgrG grrrrgrrgrrgGr 2 \n", "156 gGGGrgrrgrrgrr grrrGgrrgrrgrr 3 " ] }, "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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1574551099011722383976116263GGrrrrGG0
1584551099011722384066116263GGrrrrGG0
1594551099011722384067116263GGrrrrGG0
1604551099011722384155116263GGrrrrGG0
1614551099011722384156116263GGrrrrGG0
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "157 455 109901 1722383976 1 1 6 2 63 \n", "158 455 109901 1722384066 1 1 6 2 63 \n", "159 455 109901 1722384067 1 1 6 2 63 \n", "160 455 109901 1722384155 1 1 6 2 63 \n", "161 455 109901 1722384156 1 1 6 2 63 \n", "\n", " state_A state_B phase_sumo \n", "157 GGrr rrGG 0 \n", "158 GGrr rrGG 0 \n", "159 GGrr rrGG 0 \n", "160 GGrr rrGG 0 \n", "161 GGrr rrGG 0 " ] }, "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", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1624371099861722384007116277gGGGGrgrrgrrrrrgrrgrrrrrgrrgGGGGrgrr0
1634371099861722384007225128grrrrrgrrgrrrrGgrrgrrrrGgrrgrrrrrgrr1
1644371099861722384007338346grrrrrgGrgrrrrrgrrgrrrrrgrGgrrrrrgrr2
1654371099861722384007447449grrrrrgrrgrrrrrgrGgrrrrrgrrgrrrrrgGr3
1664371099861722384700116271gGGGGrgrrgrrrrrgrrgrrrrrgrrgGGGGrgrr0
1674371099861722384700225128grrrrrgrrgrrrrGgrrgrrrrGgrrgrrrrrgrr1
1684371099861722384700338358grrrrrgGrgrrrrrgrrgrrrrrgrGgrrrrrgrr2
1694371099861722384700447443grrrrrgrrgrrrrrgrGgrrrrrgrrgrrrrrgGr3
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "162 437 109986 1722384007 1 1 6 2 77 \n", "163 437 109986 1722384007 2 2 5 1 28 \n", "164 437 109986 1722384007 3 3 8 3 46 \n", "165 437 109986 1722384007 4 4 7 4 49 \n", "166 437 109986 1722384700 1 1 6 2 71 \n", "167 437 109986 1722384700 2 2 5 1 28 \n", "168 437 109986 1722384700 3 3 8 3 58 \n", "169 437 109986 1722384700 4 4 7 4 43 \n", "\n", " state_A state_B phase_sumo \n", "162 gGGGGrgrrgrrrrrgrr grrrrrgrrgGGGGrgrr 0 \n", "163 grrrrrgrrgrrrrGgrr grrrrGgrrgrrrrrgrr 1 \n", "164 grrrrrgGrgrrrrrgrr grrrrrgrGgrrrrrgrr 2 \n", "165 grrrrrgrrgrrrrrgrG grrrrrgrrgrrrrrgGr 3 \n", "166 gGGGGrgrrgrrrrrgrr grrrrrgrrgGGGGrgrr 0 \n", "167 grrrrrgrrgrrrrGgrr grrrrGgrrgrrrrrgrr 1 \n", "168 grrrrrgGrgrrrrrgrr grrrrrgrGgrrrrrgrr 2 \n", "169 grrrrrgrrgrrrrrgrG grrrrrgrrgrrrrrgGr 3 " ] }, "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", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
574371075871722384007116277GGGGrGGGGr0
584371075871722384007225128GGGGrGGGGG1
594371075871722384007338346GGGGrGGGGr2
604371075871722384007447449GGGGrGGGGr3
614371075871722384700116271GGGGrGGGGr0
624371075871722384700225128GGGGrGGGGG1
634371075871722384700338358GGGGrGGGGr2
644371075871722384700447443GGGGrGGGGr3
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "57 437 107587 1722384007 1 1 6 2 77 \n", "58 437 107587 1722384007 2 2 5 1 28 \n", "59 437 107587 1722384007 3 3 8 3 46 \n", "60 437 107587 1722384007 4 4 7 4 49 \n", "61 437 107587 1722384700 1 1 6 2 71 \n", "62 437 107587 1722384700 2 2 5 1 28 \n", "63 437 107587 1722384700 3 3 8 3 58 \n", "64 437 107587 1722384700 4 4 7 4 43 \n", "\n", " state_A state_B phase_sumo \n", "57 GGGGr GGGGr 0 \n", "58 GGGGr GGGGG 1 \n", "59 GGGGr GGGGr 2 \n", "60 GGGGr GGGGr 3 \n", "61 GGGGr GGGGr 0 \n", "62 GGGGr GGGGG 1 \n", "63 GGGGr GGGGr 2 \n", "64 GGGGr GGGGr 3 " ] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
744561092951722383968115215GGGGGGGGGGGGGGrr0
754561092951722383968226228GGGGGGrrGGGGGGrr1
764561092951722383968337712GGGGGGrrGGGGGGrr2
77456109295172238396844171735GGGGGGrrGGGGGGrr3
784561092951722384057115215GGGGGGGGGGGGGGrr0
794561092951722384057226228GGGGGGrrGGGGGGrr1
804561092951722384057337712GGGGGGrrGGGGGGrr2
81456109295172238405744171735GGGGGGrrGGGGGGrr3
824561092951722384058115215GGGGGGGGGGGGGGrr0
834561092951722384058226228GGGGGGrrGGGGGGrr1
844561092951722384058337712GGGGGGrrGGGGGGrr2
85456109295172238405844171735GGGGGGrrGGGGGGrr3
864561092951722384147115215GGGGGGGGGGGGGGrr0
874561092951722384147115215GGGGGGGGGGGGGGrr1
884561092951722384147226228GGGGGGrrGGGGGGrr2
894561092951722384147226228GGGGGGrrGGGGGGrr3
904561092951722384147337712GGGGGGrrGGGGGGrr4
914561092951722384147337712GGGGGGrrGGGGGGrr5
92456109295172238414744171735GGGGGGrrGGGGGGrr6
93456109295172238414744171735GGGGGGrrGGGGGGrr7
944561092951722384237115215GGGGGGGGGGGGGGrr0
954561092951722384237226228GGGGGGrrGGGGGGrr1
964561092951722384237337712GGGGGGrrGGGGGGrr2
97456109295172238423744171735GGGGGGrrGGGGGGrr3
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "74 456 109295 1722383968 1 1 5 2 15 \n", "75 456 109295 1722383968 2 2 6 2 28 \n", "76 456 109295 1722383968 3 3 7 7 12 \n", "77 456 109295 1722383968 4 4 17 17 35 \n", "78 456 109295 1722384057 1 1 5 2 15 \n", "79 456 109295 1722384057 2 2 6 2 28 \n", "80 456 109295 1722384057 3 3 7 7 12 \n", "81 456 109295 1722384057 4 4 17 17 35 \n", "82 456 109295 1722384058 1 1 5 2 15 \n", "83 456 109295 1722384058 2 2 6 2 28 \n", "84 456 109295 1722384058 3 3 7 7 12 \n", "85 456 109295 1722384058 4 4 17 17 35 \n", "86 456 109295 1722384147 1 1 5 2 15 \n", "87 456 109295 1722384147 1 1 5 2 15 \n", "88 456 109295 1722384147 2 2 6 2 28 \n", "89 456 109295 1722384147 2 2 6 2 28 \n", "90 456 109295 1722384147 3 3 7 7 12 \n", "91 456 109295 1722384147 3 3 7 7 12 \n", "92 456 109295 1722384147 4 4 17 17 35 \n", "93 456 109295 1722384147 4 4 17 17 35 \n", "94 456 109295 1722384237 1 1 5 2 15 \n", "95 456 109295 1722384237 2 2 6 2 28 \n", "96 456 109295 1722384237 3 3 7 7 12 \n", "97 456 109295 1722384237 4 4 17 17 35 \n", "\n", " state_A state_B phase_sumo \n", "74 GGGGGGGG GGGGGGrr 0 \n", "75 GGGGGGrr GGGGGGrr 1 \n", "76 GGGGGGrr GGGGGGrr 2 \n", "77 GGGGGGrr GGGGGGrr 3 \n", "78 GGGGGGGG GGGGGGrr 0 \n", "79 GGGGGGrr GGGGGGrr 1 \n", "80 GGGGGGrr GGGGGGrr 2 \n", "81 GGGGGGrr GGGGGGrr 3 \n", "82 GGGGGGGG GGGGGGrr 0 \n", "83 GGGGGGrr GGGGGGrr 1 \n", "84 GGGGGGrr GGGGGGrr 2 \n", "85 GGGGGGrr GGGGGGrr 3 \n", "86 GGGGGGGG GGGGGGrr 0 \n", "87 GGGGGGGG GGGGGGrr 1 \n", "88 GGGGGGrr GGGGGGrr 2 \n", "89 GGGGGGrr GGGGGGrr 3 \n", "90 GGGGGGrr GGGGGGrr 4 \n", "91 GGGGGGrr GGGGGGrr 5 \n", "92 GGGGGGrr GGGGGGrr 6 \n", "93 GGGGGGrr GGGGGGrr 7 \n", "94 GGGGGGGG GGGGGGrr 0 \n", "95 GGGGGGrr GGGGGGrr 1 \n", "96 GGGGGGrr GGGGGGrr 2 \n", "97 GGGGGGrr GGGGGGrr 3 " ] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
984571092961722383873116245GGGrrGGGGGGrrGGG0
994571092961722383873225120GGGrrGGGGGGGGGGG1
100457109296172238387333171740GGGrrGGGGGGrrGGG2
1014571092961722383873448335GGGrrGGGGGGrrGGG3
1024571092961722383873557440GGGrrGGGGGGrrGGG4
1034571092961722384052116245GGGrrGGGGGGrrGGG0
1044571092961722384052225120GGGrrGGGGGGGGGGG1
105457109296172238405233171740GGGrrGGGGGGrrGGG2
1064571092961722384052448340GGGrrGGGGGGrrGGG3
1074571092961722384052557435GGGrrGGGGGGrrGGG4
1084571092961722384232116245GGGrrGGGGGGrrGGG0
1094571092961722384232225120GGGrrGGGGGGGGGGG1
110457109296172238423233171740GGGrrGGGGGGrrGGG2
1114571092961722384232448340GGGrrGGGGGGrrGGG3
1124571092961722384232557435GGGrrGGGGGGrrGGG4
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "98 457 109296 1722383873 1 1 6 2 45 \n", "99 457 109296 1722383873 2 2 5 1 20 \n", "100 457 109296 1722383873 3 3 17 17 40 \n", "101 457 109296 1722383873 4 4 8 3 35 \n", "102 457 109296 1722383873 5 5 7 4 40 \n", "103 457 109296 1722384052 1 1 6 2 45 \n", "104 457 109296 1722384052 2 2 5 1 20 \n", "105 457 109296 1722384052 3 3 17 17 40 \n", "106 457 109296 1722384052 4 4 8 3 40 \n", "107 457 109296 1722384052 5 5 7 4 35 \n", "108 457 109296 1722384232 1 1 6 2 45 \n", "109 457 109296 1722384232 2 2 5 1 20 \n", "110 457 109296 1722384232 3 3 17 17 40 \n", "111 457 109296 1722384232 4 4 8 3 40 \n", "112 457 109296 1722384232 5 5 7 4 35 \n", "\n", " state_A state_B phase_sumo \n", "98 GGGrrGGG GGGrrGGG 0 \n", "99 GGGrrGGG GGGGGGGG 1 \n", "100 GGGrrGGG GGGrrGGG 2 \n", "101 GGGrrGGG GGGrrGGG 3 \n", "102 GGGrrGGG GGGrrGGG 4 \n", "103 GGGrrGGG GGGrrGGG 0 \n", "104 GGGrrGGG GGGGGGGG 1 \n", "105 GGGrrGGG GGGrrGGG 2 \n", "106 GGGrrGGG GGGrrGGG 3 \n", "107 GGGrrGGG GGGrrGGG 4 \n", "108 GGGrrGGG GGGrrGGG 0 \n", "109 GGGrrGGG GGGGGGGG 1 \n", "110 GGGrrGGG GGGrrGGG 2 \n", "111 GGGrrGGG GGGrrGGG 3 \n", "112 GGGrrGGG GGGrrGGG 4 " ] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1134571092971722383873116245GGGGGGrrGGGGGGrr0
1144571092971722383873225120GGGGGGGGGGGGGGrr1
115457109297172238387333171740GGGGGGrrGGGGGGrr2
1164571092971722383873448335GGGGGGrrGGGGGGrr3
1174571092971722383873557440GGGGGGrrGGGGGGrr4
1184571092971722384052116245GGGGGGrrGGGGGGrr0
1194571092971722384052225120GGGGGGGGGGGGGGrr1
120457109297172238405233171740GGGGGGrrGGGGGGrr2
1214571092971722384052448340GGGGGGrrGGGGGGrr3
1224571092971722384052557435GGGGGGrrGGGGGGrr4
1234571092971722384232116245GGGGGGrrGGGGGGrr0
1244571092971722384232225120GGGGGGGGGGGGGGrr1
125457109297172238423233171740GGGGGGrrGGGGGGrr2
1264571092971722384232448340GGGGGGrrGGGGGGrr3
1274571092971722384232557435GGGGGGrrGGGGGGrr4
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "113 457 109297 1722383873 1 1 6 2 45 \n", "114 457 109297 1722383873 2 2 5 1 20 \n", "115 457 109297 1722383873 3 3 17 17 40 \n", "116 457 109297 1722383873 4 4 8 3 35 \n", "117 457 109297 1722383873 5 5 7 4 40 \n", "118 457 109297 1722384052 1 1 6 2 45 \n", "119 457 109297 1722384052 2 2 5 1 20 \n", "120 457 109297 1722384052 3 3 17 17 40 \n", "121 457 109297 1722384052 4 4 8 3 40 \n", "122 457 109297 1722384052 5 5 7 4 35 \n", "123 457 109297 1722384232 1 1 6 2 45 \n", "124 457 109297 1722384232 2 2 5 1 20 \n", "125 457 109297 1722384232 3 3 17 17 40 \n", "126 457 109297 1722384232 4 4 8 3 40 \n", "127 457 109297 1722384232 5 5 7 4 35 \n", "\n", " state_A state_B phase_sumo \n", "113 GGGGGGrr GGGGGGrr 0 \n", "114 GGGGGGGG GGGGGGrr 1 \n", "115 GGGGGGrr GGGGGGrr 2 \n", "116 GGGGGGrr GGGGGGrr 3 \n", "117 GGGGGGrr GGGGGGrr 4 \n", "118 GGGGGGrr GGGGGGrr 0 \n", "119 GGGGGGGG GGGGGGrr 1 \n", "120 GGGGGGrr GGGGGGrr 2 \n", "121 GGGGGGrr GGGGGGrr 3 \n", "122 GGGGGGrr GGGGGGrr 4 \n", "123 GGGGGGrr GGGGGGrr 0 \n", "124 GGGGGGGG GGGGGGrr 1 \n", "125 GGGGGGrr GGGGGGrr 2 \n", "126 GGGGGGrr GGGGGGrr 3 \n", "127 GGGGGGrr GGGGGGrr 4 " ] }, "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", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1284371093131722384007116277GGGGGGGGrGGGGGGGGr0
1294371093131722384007225128GGGGGGGGGGGGGGGGGr1
1304371093131722384007338346GGGGGGGGrGGGGGGGGr2
1314371093131722384007447449GGGGGGGGrGGGGGGGGr3
1324371093131722384700116271GGGGGGGGrGGGGGGGGr0
1334371093131722384700225128GGGGGGGGGGGGGGGGGr1
1344371093131722384700338358GGGGGGGGrGGGGGGGGr2
1354371093131722384700447443GGGGGGGGrGGGGGGGGr3
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "128 437 109313 1722384007 1 1 6 2 77 \n", "129 437 109313 1722384007 2 2 5 1 28 \n", "130 437 109313 1722384007 3 3 8 3 46 \n", "131 437 109313 1722384007 4 4 7 4 49 \n", "132 437 109313 1722384700 1 1 6 2 71 \n", "133 437 109313 1722384700 2 2 5 1 28 \n", "134 437 109313 1722384700 3 3 8 3 58 \n", "135 437 109313 1722384700 4 4 7 4 43 \n", "\n", " state_A state_B phase_sumo \n", "128 GGGGGGGGr GGGGGGGGr 0 \n", "129 GGGGGGGGG GGGGGGGGr 1 \n", "130 GGGGGGGGr GGGGGGGGr 2 \n", "131 GGGGGGGGr GGGGGGGGr 3 \n", "132 GGGGGGGGr GGGGGGGGr 0 \n", "133 GGGGGGGGG GGGGGGGGr 1 \n", "134 GGGGGGGGr GGGGGGGGr 2 \n", "135 GGGGGGGGr GGGGGGGGr 3 " ] }, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
13644310933317223839021162125GGGGGGGGGGGrGGGGGGGGGGGr0
1374431093331722383902225225GGGGGGGGGGGGGGGGGGGGGGGr1
13844310933317223839023371850GGGGGGGGGGGrGGGGGGGGGGGr2
13944310933317223841021162125GGGGGGGGGGGrGGGGGGGGGGGr0
1404431093331722384102225225GGGGGGGGGGGGGGGGGGGGGGGr1
14144310933317223841023371850GGGGGGGGGGGrGGGGGGGGGGGr2
14244310933317223843021162125GGGGGGGGGGGrGGGGGGGGGGGr0
1434431093331722384302225225GGGGGGGGGGGGGGGGGGGGGGGr1
14444310933317223843023371850GGGGGGGGGGGrGGGGGGGGGGGr2
\n", "
" ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", "136 443 109333 1722383902 1 1 6 2 125 \n", "137 443 109333 1722383902 2 2 5 2 25 \n", "138 443 109333 1722383902 3 3 7 18 50 \n", "139 443 109333 1722384102 1 1 6 2 125 \n", "140 443 109333 1722384102 2 2 5 2 25 \n", "141 443 109333 1722384102 3 3 7 18 50 \n", "142 443 109333 1722384302 1 1 6 2 125 \n", "143 443 109333 1722384302 2 2 5 2 25 \n", "144 443 109333 1722384302 3 3 7 18 50 \n", "\n", " state_A state_B phase_sumo \n", "136 GGGGGGGGGGGr GGGGGGGGGGGr 0 \n", "137 GGGGGGGGGGGG GGGGGGGGGGGr 1 \n", "138 GGGGGGGGGGGr GGGGGGGGGGGr 2 \n", "139 GGGGGGGGGGGr GGGGGGGGGGGr 0 \n", "140 GGGGGGGGGGGG GGGGGGGGGGGr 1 \n", "141 GGGGGGGGGGGr GGGGGGGGGGGr 2 \n", "142 GGGGGGGGGGGr GGGGGGGGGGGr 0 \n", "143 GGGGGGGGGGGG GGGGGGGGGGGr 1 \n", "144 GGGGGGGGGGGr GGGGGGGGGGGr 2 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "self.SIGTABLE = []\n", "for node_id in self.node_ids:\n", " sig = self.sigtable.query('node_id==@node_id')\n", " display(sig)\n", " for i, row in sig.iterrows():\n", " inter_no = row.inter_no\n", " phas_A = row.phas_A\n", " phas_B = row.phas_B\n", " start_unix = row.start_unix\n", " prow = self.load_prow(inter_no, start_unix)[1].iloc[0]\n", " red_A = prow[f'red_A{phas_A}']\n", " yellow_A = prow[f'yellow_A{phas_A}']\n", " red_B = prow[f'red_B{phas_B}']\n", " yellow_B = prow[f'yellow_B{phas_B}']\n", " sig.loc[i, ['red_A', 'red_B', 'yellow_A', 'yellow_B']] = red_A, red_B, yellow_A, yellow_B\n", " try:\n", " sig = sig.astype({'red_A': int, 'red_B': int, 'yellow_A': int, 'yellow_B': int,\n", " 'phas_A':str, 'phas_B':str})\n", " sig = sig.drop(['move_A','move_B'], axis=1)\n", " except:\n", " print(node_id)\n", "\n", " # sig_A = sig[['start_unix', 'phas_A', 'duration', 'state_A', 'red_A', 'yellow_A']].reset_index(drop=True)\n", " # sig_B = sig[['start_unix', 'phas_B', 'duration', 'state_B', 'red_B', 'yellow_B']].reset_index(drop=True)\n", "\n", " # csig_A = self.cumulate(sig_A, 'A')\n", " # csig_B = self.cumulate(sig_B, 'B')\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "c:\\github\\siggen\\scripts\\generate_signals.py:818: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:819: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:818: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", "c:\\github\\siggen\\scripts\\generate_signals.py:819: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n" ] }, { "ename": "KeyError", "evalue": "\"Only a column name can be used for the key in a dtype mappings argument. 'red_A' not found in columns.\"", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[30], line 2\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# 5-2. 적색 및 황색신호 부여\u001b[39;00m\n\u001b[1;32m----> 2\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43massign_red_yellow\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[1;32mc:\\github\\siggen\\scripts\\generate_signals.py:806\u001b[0m, in \u001b[0;36mSignalGenerator.assign_red_yellow\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 804\u001b[0m yellow_B \u001b[38;5;241m=\u001b[39m prow[\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124myellow_B\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mphas_B\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m]\n\u001b[0;32m 805\u001b[0m sig\u001b[38;5;241m.\u001b[39mloc[i, [\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mred_A\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mred_B\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124myellow_A\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124myellow_B\u001b[39m\u001b[38;5;124m'\u001b[39m]] \u001b[38;5;241m=\u001b[39m red_A, red_B, yellow_A, yellow_B\n\u001b[1;32m--> 806\u001b[0m sig \u001b[38;5;241m=\u001b[39m \u001b[43msig\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mastype\u001b[49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mred_A\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mint\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mred_B\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mint\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43myellow_A\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mint\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43myellow_B\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mint\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[0;32m 807\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mphas_A\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mphas_B\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 808\u001b[0m sig \u001b[38;5;241m=\u001b[39m sig\u001b[38;5;241m.\u001b[39mdrop([\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmove_A\u001b[39m\u001b[38;5;124m'\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmove_B\u001b[39m\u001b[38;5;124m'\u001b[39m], axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1\u001b[39m)\n\u001b[0;32m 810\u001b[0m sig_A \u001b[38;5;241m=\u001b[39m sig[[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstart_unix\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mphas_A\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mduration\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstate_A\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mred_A\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124myellow_A\u001b[39m\u001b[38;5;124m'\u001b[39m]]\u001b[38;5;241m.\u001b[39mreset_index(drop\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\generic.py:6605\u001b[0m, in \u001b[0;36mNDFrame.astype\u001b[1;34m(self, dtype, copy, errors)\u001b[0m\n\u001b[0;32m 6603\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m col_name \u001b[38;5;129;01min\u001b[39;00m dtype_ser\u001b[38;5;241m.\u001b[39mindex:\n\u001b[0;32m 6604\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m col_name \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m:\n\u001b[1;32m-> 6605\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(\n\u001b[0;32m 6606\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mOnly a column name can be used for the \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 6607\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mkey in a dtype mappings argument. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 6608\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcol_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m not found in columns.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 6609\u001b[0m )\n\u001b[0;32m 6611\u001b[0m dtype_ser \u001b[38;5;241m=\u001b[39m dtype_ser\u001b[38;5;241m.\u001b[39mreindex(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcolumns, fill_value\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, copy\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m 6613\u001b[0m results \u001b[38;5;241m=\u001b[39m []\n", "\u001b[1;31mKeyError\u001b[0m: \"Only a column name can be used for the key in a dtype mappings argument. 'red_A' not found in columns.\"" ] } ], "source": [ "# 5-2. 적색 및 황색신호 부여\n", "self.assign_red_yellow()" ] } ], "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 }