신호생성 repo (24. 1. 5 ~).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

5942 lines
207 KiB

{
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>plan_no</th>\n",
" <th>start_hour</th>\n",
" <th>start_minute</th>\n",
" <th>cycle</th>\n",
" <th>offset</th>\n",
" <th>dura_A1</th>\n",
" <th>dura_A2</th>\n",
" <th>dura_A3</th>\n",
" <th>dura_A4</th>\n",
" <th>...</th>\n",
" <th>yellow_A4</th>\n",
" <th>yellow_B4</th>\n",
" <th>red_A5</th>\n",
" <th>red_B5</th>\n",
" <th>yellow_A5</th>\n",
" <th>yellow_B5</th>\n",
" <th>red_A6</th>\n",
" <th>red_B6</th>\n",
" <th>yellow_A6</th>\n",
" <th>yellow_B6</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>455</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>0</td>\n",
" <td>90</td>\n",
" <td>63</td>\n",
" <td>63</td>\n",
" <td>27</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1 rows × 47 columns</p>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>157</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>158</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" <th>red_A</th>\n",
" <th>red_B</th>\n",
" <th>yellow_A</th>\n",
" <th>yellow_B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>157</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>158</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" <th>red_A</th>\n",
" <th>red_B</th>\n",
" <th>yellow_A</th>\n",
" <th>yellow_B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>157</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>158</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>red_A</th>\n",
" <th>yellow_A</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>start_unix</th>\n",
" <th>phas_B</th>\n",
" <th>duration</th>\n",
" <th>state_B</th>\n",
" <th>red_B</th>\n",
" <th>yellow_B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>start_time</th>\n",
" <th>phas_A</th>\n",
" <th>state_A</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>1g</td>\n",
" <td>GGrr</td>\n",
" <td>1722383976</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>59</td>\n",
" <td>1y</td>\n",
" <td>GGrr</td>\n",
" <td>1722383976</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>63</td>\n",
" <td>2r</td>\n",
" <td>GGrr</td>\n",
" <td>1722384066</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>63</td>\n",
" <td>2g</td>\n",
" <td>GGrr</td>\n",
" <td>1722384066</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>122</td>\n",
" <td>2y</td>\n",
" <td>GGrr</td>\n",
" <td>1722384066</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>126</td>\n",
" <td>1r</td>\n",
" <td>GGrr</td>\n",
" <td>1722384067</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>126</td>\n",
" <td>1g</td>\n",
" <td>GGrr</td>\n",
" <td>1722384067</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>185</td>\n",
" <td>1y</td>\n",
" <td>GGrr</td>\n",
" <td>1722384067</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>189</td>\n",
" <td>2r</td>\n",
" <td>GGrr</td>\n",
" <td>1722384155</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>189</td>\n",
" <td>2g</td>\n",
" <td>GGrr</td>\n",
" <td>1722384155</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>248</td>\n",
" <td>2y</td>\n",
" <td>GGrr</td>\n",
" <td>1722384155</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>252</td>\n",
" <td>1r</td>\n",
" <td>GGrr</td>\n",
" <td>1722384156</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>252</td>\n",
" <td>1g</td>\n",
" <td>GGrr</td>\n",
" <td>1722384156</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>311</td>\n",
" <td>1y</td>\n",
" <td>GGrr</td>\n",
" <td>1722384156</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>157</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>158</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" <th>red_A</th>\n",
" <th>red_B</th>\n",
" <th>yellow_A</th>\n",
" <th>yellow_B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>157</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>158</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>4.0</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" <th>red_A</th>\n",
" <th>red_B</th>\n",
" <th>yellow_A</th>\n",
" <th>yellow_B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>157</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>158</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>red_A</th>\n",
" <th>yellow_A</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>start_unix</th>\n",
" <th>phas_B</th>\n",
" <th>duration</th>\n",
" <th>state_B</th>\n",
" <th>red_B</th>\n",
" <th>yellow_B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>63</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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",
"<class 'int'> hello <class 'int'>\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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722383968</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>grgrrrrG</td>\n",
" <td>grgrrGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722383968</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>grgGGrrr</td>\n",
" <td>grgrrGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722383968</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722383968</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>grgrrrrr</td>\n",
" <td>grgrrrrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384057</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>grgrrrrG</td>\n",
" <td>grgrrGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384057</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>grgGGrrr</td>\n",
" <td>grgrrGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384057</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384057</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>grgrrrrr</td>\n",
" <td>grgrrrrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384058</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>grgrrrrG</td>\n",
" <td>grgrrGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384058</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>grgGGrrr</td>\n",
" <td>grgrrGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384058</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384058</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>grgrrrrr</td>\n",
" <td>grgrrrrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384147</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>grgrrrrG</td>\n",
" <td>grgrrGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384147</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>grgrrrrG</td>\n",
" <td>grgrrGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384147</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>grgGGrrr</td>\n",
" <td>grgrrGGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384147</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>grgGGrrr</td>\n",
" <td>grgrrGGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384147</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384147</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384147</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>grgrrrrr</td>\n",
" <td>grgrrrrr</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384147</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>grgrrrrr</td>\n",
" <td>grgrrrrr</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384237</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>grgrrrrG</td>\n",
" <td>grgrrGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384237</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>grgGGrrr</td>\n",
" <td>grgrrGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384237</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>gGgrrrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>456</td>\n",
" <td>106231</td>\n",
" <td>1722384237</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>grgrrrrr</td>\n",
" <td>grgrrrrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722383873</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>gGGGrgrrrrgrrrrgrrr</td>\n",
" <td>grrrrgrrrrgGGGrgrrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722383873</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>grrrrgrrrrgrrrGgrrr</td>\n",
" <td>grrrGgrrrrgrrrrgrrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722383873</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>grrrrgrrrrgrrrrgrrr</td>\n",
" <td>grrrrgrrrrgrrrrgrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722383873</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>35</td>\n",
" <td>grrrrgGGrrgrrrrgrrr</td>\n",
" <td>grrrrgrrGGgrrrrgrrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722383873</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>40</td>\n",
" <td>grrrrgrrrrgrrrrgrrG</td>\n",
" <td>grrrrgrrrrgrrrrgGGr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384052</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>gGGGrgrrrrgrrrrgrrr</td>\n",
" <td>grrrrgrrrrgGGGrgrrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384052</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>grrrrgrrrrgrrrGgrrr</td>\n",
" <td>grrrGgrrrrgrrrrgrrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384052</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>grrrrgrrrrgrrrrgrrr</td>\n",
" <td>grrrrgrrrrgrrrrgrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384052</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>40</td>\n",
" <td>grrrrgGGrrgrrrrgrrr</td>\n",
" <td>grrrrgrrGGgrrrrgrrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384052</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>grrrrgrrrrgrrrrgrrG</td>\n",
" <td>grrrrgrrrrgrrrrgGGr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384232</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>gGGGrgrrrrgrrrrgrrr</td>\n",
" <td>grrrrgrrrrgGGGrgrrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384232</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>grrrrgrrrrgrrrGgrrr</td>\n",
" <td>grrrGgrrrrgrrrrgrrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384232</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>grrrrgrrrrgrrrrgrrr</td>\n",
" <td>grrrrgrrrrgrrrrgrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384232</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>40</td>\n",
" <td>grrrrgGGrrgrrrrgrrr</td>\n",
" <td>grrrrgrrGGgrrrrgrrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>457</td>\n",
" <td>106234</td>\n",
" <td>1722384232</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>grrrrgrrrrgrrrrgrrG</td>\n",
" <td>grrrrgrrrrgrrrrgGGr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722383898</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>31</td>\n",
" <td>gGGGrrrrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrGGrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722383898</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>27</td>\n",
" <td>gGGGrrrrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrrgrrgrGGGGGrrgrrrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722383898</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>32</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrGGgrrrr</td>\n",
" <td>grrrrrrrrrgrrgrGGGGGrrgrrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722383898</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>49</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrrrgrrrG</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrrrgGGGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722383898</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>45</td>\n",
" <td>grrrrrrGGrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrGgrrgrrrrrrrrgrrrr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722383898</td>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>16</td>\n",
" <td>grrrrrrGGrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrGgrrgrrrrrrrrgrrrr</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384097</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>35</td>\n",
" <td>gGGGrrrrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrGGrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384097</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>27</td>\n",
" <td>gGGGrrrrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrrgrrgrGGGGGrrgrrrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384097</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>30</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrGGgrrrr</td>\n",
" <td>grrrrrrrrrgrrgrGGGGGrrgrrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384097</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>47</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrrrgrrrG</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrrrgGGGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384097</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>45</td>\n",
" <td>grrrrrrGGrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrGgrrgrrrrrrrrgrrrr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384097</td>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>16</td>\n",
" <td>grrrrrrGGrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrGgrrgrrrrrrrrgrrrr</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384297</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>35</td>\n",
" <td>gGGGrrrrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrGGrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384297</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>27</td>\n",
" <td>gGGGrrrrrrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrrgrrgrGGGGGrrgrrrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384297</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>30</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrGGgrrrr</td>\n",
" <td>grrrrrrrrrgrrgrGGGGGrrgrrrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384297</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>47</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrrrgrrrG</td>\n",
" <td>grrrrrrrrrgrrgrrrrrrrrgGGGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384297</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>45</td>\n",
" <td>grrrrrrGGrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrGgrrgrrrrrrrrgrrrr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>56</th>\n",
" <td>442</td>\n",
" <td>106332</td>\n",
" <td>1722384297</td>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>16</td>\n",
" <td>grrrrrrGGrgrrgrrrrrrrrgrrrr</td>\n",
" <td>grrrrrrrrGgrrgrrrrrrrrgrrrr</td>\n",
" <td>5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722383902</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>125</td>\n",
" <td>gGGGGGrrrrrrgrr</td>\n",
" <td>grrrrrGGGGGrgrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>66</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722383902</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>25</td>\n",
" <td>grrrrrrrrrrGgrr</td>\n",
" <td>grrrrrGGGGGrgrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722383902</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>18</td>\n",
" <td>50</td>\n",
" <td>grrrrrrrrrrrgGG</td>\n",
" <td>grrrrrrrrrrrgrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722384102</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>125</td>\n",
" <td>gGGGGGrrrrrrgrr</td>\n",
" <td>grrrrrGGGGGrgrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722384102</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>25</td>\n",
" <td>grrrrrrrrrrGgrr</td>\n",
" <td>grrrrrGGGGGrgrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722384102</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>18</td>\n",
" <td>50</td>\n",
" <td>grrrrrrrrrrrgGG</td>\n",
" <td>grrrrrrrrrrrgrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>71</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722384302</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>125</td>\n",
" <td>gGGGGGrrrrrrgrr</td>\n",
" <td>grrrrrGGGGGrgrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>72</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722384302</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>25</td>\n",
" <td>grrrrrrrrrrGgrr</td>\n",
" <td>grrrrrGGGGGrgrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>73</th>\n",
" <td>443</td>\n",
" <td>108769</td>\n",
" <td>1722384302</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>18</td>\n",
" <td>50</td>\n",
" <td>grrrrrrrrrrrgGG</td>\n",
" <td>grrrrrrrrrrrgrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>145</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384036</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>50</td>\n",
" <td>grrrrgrrgrGgrr</td>\n",
" <td>grrrrgrrgGrgrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>146</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384036</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>85</td>\n",
" <td>grrrrgGrgrrgrr</td>\n",
" <td>grrrrgrGgrrgrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>147</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384036</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>grrrrgrrgrrgrG</td>\n",
" <td>grrrrgrrgrrgGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>148</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384036</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>30</td>\n",
" <td>gGGGrgrrgrrgrr</td>\n",
" <td>grrrGgrrgrrgrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>149</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384236</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>50</td>\n",
" <td>grrrrgrrgrGgrr</td>\n",
" <td>grrrrgrrgGrgrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>150</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384236</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>85</td>\n",
" <td>grrrrgGrgrrgrr</td>\n",
" <td>grrrrgrGgrrgrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>151</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384236</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>grrrrgrrgrrgrG</td>\n",
" <td>grrrrgrrgrrgGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>152</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384236</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>30</td>\n",
" <td>gGGGrgrrgrrgrr</td>\n",
" <td>grrrGgrrgrrgrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>153</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384436</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>50</td>\n",
" <td>grrrrgrrgrGgrr</td>\n",
" <td>grrrrgrrgGrgrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>154</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384436</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>85</td>\n",
" <td>grrrrgGrgrrgrr</td>\n",
" <td>grrrrgrGgrrgrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>155</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384436</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>grrrrgrrgrrgrG</td>\n",
" <td>grrrrgrrgrrgGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>156</th>\n",
" <td>436</td>\n",
" <td>109836</td>\n",
" <td>1722384436</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>30</td>\n",
" <td>gGGGrgrrgrrgrr</td>\n",
" <td>grrrGgrrgrrgrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>157</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722383976</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>158</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384066</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>159</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384067</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>160</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384155</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>161</th>\n",
" <td>455</td>\n",
" <td>109901</td>\n",
" <td>1722384156</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>63</td>\n",
" <td>GGrr</td>\n",
" <td>rrGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>162</th>\n",
" <td>437</td>\n",
" <td>109986</td>\n",
" <td>1722384007</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>77</td>\n",
" <td>gGGGGrgrrgrrrrrgrr</td>\n",
" <td>grrrrrgrrgGGGGrgrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>163</th>\n",
" <td>437</td>\n",
" <td>109986</td>\n",
" <td>1722384007</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>28</td>\n",
" <td>grrrrrgrrgrrrrGgrr</td>\n",
" <td>grrrrGgrrgrrrrrgrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>164</th>\n",
" <td>437</td>\n",
" <td>109986</td>\n",
" <td>1722384007</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>46</td>\n",
" <td>grrrrrgGrgrrrrrgrr</td>\n",
" <td>grrrrrgrGgrrrrrgrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>165</th>\n",
" <td>437</td>\n",
" <td>109986</td>\n",
" <td>1722384007</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>49</td>\n",
" <td>grrrrrgrrgrrrrrgrG</td>\n",
" <td>grrrrrgrrgrrrrrgGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>166</th>\n",
" <td>437</td>\n",
" <td>109986</td>\n",
" <td>1722384700</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>71</td>\n",
" <td>gGGGGrgrrgrrrrrgrr</td>\n",
" <td>grrrrrgrrgGGGGrgrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>167</th>\n",
" <td>437</td>\n",
" <td>109986</td>\n",
" <td>1722384700</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>28</td>\n",
" <td>grrrrrgrrgrrrrGgrr</td>\n",
" <td>grrrrGgrrgrrrrrgrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>168</th>\n",
" <td>437</td>\n",
" <td>109986</td>\n",
" <td>1722384700</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>58</td>\n",
" <td>grrrrrgGrgrrrrrgrr</td>\n",
" <td>grrrrrgrGgrrrrrgrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>169</th>\n",
" <td>437</td>\n",
" <td>109986</td>\n",
" <td>1722384700</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>43</td>\n",
" <td>grrrrrgrrgrrrrrgrG</td>\n",
" <td>grrrrrgrrgrrrrrgGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>57</th>\n",
" <td>437</td>\n",
" <td>107587</td>\n",
" <td>1722384007</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>77</td>\n",
" <td>GGGGr</td>\n",
" <td>GGGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58</th>\n",
" <td>437</td>\n",
" <td>107587</td>\n",
" <td>1722384007</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>28</td>\n",
" <td>GGGGr</td>\n",
" <td>GGGGG</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>59</th>\n",
" <td>437</td>\n",
" <td>107587</td>\n",
" <td>1722384007</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>46</td>\n",
" <td>GGGGr</td>\n",
" <td>GGGGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60</th>\n",
" <td>437</td>\n",
" <td>107587</td>\n",
" <td>1722384007</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>49</td>\n",
" <td>GGGGr</td>\n",
" <td>GGGGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>437</td>\n",
" <td>107587</td>\n",
" <td>1722384700</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>71</td>\n",
" <td>GGGGr</td>\n",
" <td>GGGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>437</td>\n",
" <td>107587</td>\n",
" <td>1722384700</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>28</td>\n",
" <td>GGGGr</td>\n",
" <td>GGGGG</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>437</td>\n",
" <td>107587</td>\n",
" <td>1722384700</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>58</td>\n",
" <td>GGGGr</td>\n",
" <td>GGGGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>437</td>\n",
" <td>107587</td>\n",
" <td>1722384700</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>43</td>\n",
" <td>GGGGr</td>\n",
" <td>GGGGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>74</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722383968</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722383968</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>76</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722383968</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722383968</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384057</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>79</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384057</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384057</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>81</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384057</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>82</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384058</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384058</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>84</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384058</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>85</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384058</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>86</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384147</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>87</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384147</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>88</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384147</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>89</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384147</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384147</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>91</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384147</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>92</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384147</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>93</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384147</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>94</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384237</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>15</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384237</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>28</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384237</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" <td>12</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>456</td>\n",
" <td>109295</td>\n",
" <td>1722384237</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722383873</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722383873</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>100</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722383873</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>101</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722383873</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>35</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>102</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722383873</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>40</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>103</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384052</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>104</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384052</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>105</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384052</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>106</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384052</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>40</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>107</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384052</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>108</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384232</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>109</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384232</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>110</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384232</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>111</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384232</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>40</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>112</th>\n",
" <td>457</td>\n",
" <td>109296</td>\n",
" <td>1722384232</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>GGGrrGGG</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>113</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722383873</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>114</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722383873</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>115</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722383873</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>116</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722383873</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>117</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722383873</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>40</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>118</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384052</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>119</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384052</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>120</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384052</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>121</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384052</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>40</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>122</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384052</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>123</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384232</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>45</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>124</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384232</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>20</td>\n",
" <td>GGGGGGGG</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>125</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384232</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" <td>40</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>126</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384232</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>40</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>127</th>\n",
" <td>457</td>\n",
" <td>109297</td>\n",
" <td>1722384232</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>35</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>GGGGGGrr</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>128</th>\n",
" <td>437</td>\n",
" <td>109313</td>\n",
" <td>1722384007</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>77</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>129</th>\n",
" <td>437</td>\n",
" <td>109313</td>\n",
" <td>1722384007</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>28</td>\n",
" <td>GGGGGGGGG</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>130</th>\n",
" <td>437</td>\n",
" <td>109313</td>\n",
" <td>1722384007</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>46</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>131</th>\n",
" <td>437</td>\n",
" <td>109313</td>\n",
" <td>1722384007</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>49</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>132</th>\n",
" <td>437</td>\n",
" <td>109313</td>\n",
" <td>1722384700</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>71</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>133</th>\n",
" <td>437</td>\n",
" <td>109313</td>\n",
" <td>1722384700</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>28</td>\n",
" <td>GGGGGGGGG</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>134</th>\n",
" <td>437</td>\n",
" <td>109313</td>\n",
" <td>1722384700</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>58</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>135</th>\n",
" <td>437</td>\n",
" <td>109313</td>\n",
" <td>1722384700</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>43</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>GGGGGGGGr</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>node_id</th>\n",
" <th>start_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>duration</th>\n",
" <th>state_A</th>\n",
" <th>state_B</th>\n",
" <th>phase_sumo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>136</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722383902</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>125</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>137</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722383902</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>25</td>\n",
" <td>GGGGGGGGGGGG</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>138</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722383902</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>18</td>\n",
" <td>50</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>139</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722384102</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>125</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>140</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722384102</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>25</td>\n",
" <td>GGGGGGGGGGGG</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>141</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722384102</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>18</td>\n",
" <td>50</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>142</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722384302</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>125</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>143</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722384302</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>25</td>\n",
" <td>GGGGGGGGGGGG</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>144</th>\n",
" <td>443</td>\n",
" <td>109333</td>\n",
" <td>1722384302</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>18</td>\n",
" <td>50</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>GGGGGGGGGGGr</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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
}