From 2c41d87dd6e1a383de3d66227b13ddef7b68c901 Mon Sep 17 00:00:00 2001 From: govin08 Date: Wed, 31 Jul 2024 18:14:19 +0900 Subject: [PATCH] finished debugging generate_signals.py (6_use_class_gs.ipynb) --- .../generate_signals.cpython-312.pyc | Bin 67081 -> 69113 bytes .../preprocess_daily.cpython-312.pyc | Bin 79370 -> 79401 bytes Scripts/generate_signals.py | 34 +- Scripts/preprocess_daily.py | 5 +- analysis/0725_main_test/4_use_class_pd.ipynb | 229 +- analysis/0725_main_test/6_use_class_gs.ipynb | 6794 ++++++++++++----- configs/config_test_0731.json | 1 + test_0731/results/sn_1722384300.add.xml | 315 + 8 files changed, 5471 insertions(+), 1907 deletions(-) create mode 100644 test_0731/results/sn_1722384300.add.xml diff --git a/Scripts/__pycache__/generate_signals.cpython-312.pyc b/Scripts/__pycache__/generate_signals.cpython-312.pyc index be7fc7a60dd51879fd6511e89ff12b962b3e2173..c1e4b41abb771d9397857c8235187b0d8d66db6a 100644 GIT binary patch delta 5876 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 delta 4323 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 T;1wJ2ugjD7){1TXedYfEUn=)e delta 7335 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 diff --git a/Scripts/generate_signals.py b/Scripts/generate_signals.py index bd4b42a01..c2ef0426a 100644 --- a/Scripts/generate_signals.py +++ b/Scripts/generate_signals.py @@ -307,6 +307,19 @@ class SignalGenerator(): inter_no = self.node2inter[parent_id] self.pa2ch[parent_id] = list(self.inter_node[(self.inter_node.inter_no==inter_no) & (self.inter_node.inter_type=='child')].node_id) + # 유효한 노드들만을 다시 id 목록 정의 + # (history 기준으로 유효함을 설정했으나, 추후 더 조건이 필요할 수 있음) + valid_parent_ids = [self.inter2node[inter_no] for inter_no in set(self.history.inter_no)] + invalid_parent_ids = [parent_id for parent_id in self.parent_ids if not parent_id in valid_parent_ids ] + invalid_child_ids = [] + for parent_id in invalid_parent_ids: + invalid_child_ids.extend(self.pa2ch[parent_id]) + self.parent_ids = sorted(set(self.parent_ids) - set(invalid_parent_ids)) + self.node_ids = sorted(set(self.node_ids) - set(invalid_parent_ids)) + self.child_ids = sorted(set(self.child_ids) - set(invalid_child_ids)) + self.uturn_ids = sorted(set(self.uturn_ids) - set(invalid_child_ids)) + self.coord_ids = sorted(set(self.coord_ids) - set(invalid_child_ids)) + # node2num_cycles : A dictionary that maps a node_id to the number of cycles with open(os.path.join(self.path_intermediates, 'node2num_cycles.json'), 'r') as file: # json.load() 함수를 사용해 파일 내용을 Python 딕셔너리로 불러옵니다. @@ -748,7 +761,18 @@ class SignalGenerator(): self.sigtable = [] sim_start = self.present_time - self.sim_timespan for node_id, group in self.histids.groupby('node_id'): - lsbs = group[group['start_unix'] < sim_start]['start_unix'].max() # the last start_unix before sim_start + series = group[group['start_unix'] < sim_start]['start_unix'] + # lsbs : the last start_unix before sim_start + if len(series): + lsbs = series.max() + else: + min_start_unix = int(group['start_unix'].min()) + inter_no = self.node2inter[node_id] + _, prow = self.load_prow(inter_no, min_start_unix) + cycle = prow.iloc[0]['cycle'] + lsbs = min_start_unix + while lsbs > sim_start: + lsbs -= cycle self.offsets[node_id] = lsbs - sim_start group = group[group.start_unix >= lsbs] start_unixes = np.array(group.start_unix) @@ -857,6 +881,14 @@ class SignalGenerator(): # 5-2-3 helper function of 5-2 def cumulate(self, sig, alph): + + sig[f'phas_{alph}'] = sig[f'phas_{alph}'].astype(int) + # 만약 현시번호가 1로 일정하면 2현시를 가상으로 추가 + if (sig[f'phas_{alph}']==1).all(): + sig_dup = sig.copy() + sig_dup[f'phas_{alph}'] = 2 + sig = pd.concat([sig, sig_dup]).sort_values(by=['start_unix', f'phas_{alph}']) + csig = [] # cumulated sig pre = pd.Series({f'phas_{alph}':None}) diff --git a/Scripts/preprocess_daily.py b/Scripts/preprocess_daily.py index 9575920be..4fda29ee3 100644 --- a/Scripts/preprocess_daily.py +++ b/Scripts/preprocess_daily.py @@ -23,6 +23,7 @@ class DailyPreprocessor(): self.path_results = os.path.join(self.path_root, *self.paths['results']) self.path_tables = os.path.join(self.path_root, *self.paths['tables']) self.path_networks = os.path.join(self.path_root, *self.paths['networks']) + self.path_network = os.path.join(self.path_root, *self.paths['network']) self.path_scripts = os.path.join(self.path_root, *self.paths['scripts']) # 이슈사항 목록 @@ -40,7 +41,7 @@ class DailyPreprocessor(): # 1-1. 네트워크 불러오기 def load_networks(self): - self.net = sumolib.net.readNet(os.path.join(self.path_networks, self.file_net)) + self.net = sumolib.net.readNet(self.path_network) print("1-1. 네트워크가 로드되었습니다.") # 1-2. 테이블 불러오기 @@ -734,7 +735,7 @@ class DailyPreprocessor(): all_redsigns = (cmatch.move_no==18) & ~ out_true # 보행신호시/좌회전시 진입/진출 엣지id 배정 - cmatch[['inc_edge_id', 'out_edge_id']] = np.nan + cmatch[['inc_edge_id', 'out_edge_id']] = None if condition == "보행신호시": cmatch.loc[pedes_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id] elif condition == "좌회전시": diff --git a/analysis/0725_main_test/4_use_class_pd.ipynb b/analysis/0725_main_test/4_use_class_pd.ipynb index e175d74fd..2f9c414c8 100644 --- a/analysis/0725_main_test/4_use_class_pd.ipynb +++ b/analysis/0725_main_test/4_use_class_pd.ipynb @@ -25,7 +25,7 @@ "metadata": {}, "outputs": [], "source": [ - "self = DailyPreprocessor(config_name='test_0731',\n", + "self = DailyPreprocessor(config_name = 'test_0731',\n", " file_net = 'new_sungnam_network_internal_target_0721.net.xml')" ] }, @@ -69,29 +69,24 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1-5. 테이블을 표준화했습니다.\n" + ] + } + ], "source": [ - "# self.angle" + "# 1-5. 테이블 표준화\n", + "self.standardize()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, - "outputs": [], - "source": [ - "# angle_A = self.angle[self.angle.ring_type=='A']\n", - "# angle_B = self.angle[self.angle.ring_type=='B']\n", - "# isa2move_A = dict(zip(zip(angle_A.inter_no, angle_A.STOS_NO, angle_A.phase_no), angle_A.move_no))\n", - "# isa2move_B = dict(zip(zip(angle_B.inter_no, angle_B.STOS_NO, angle_B.phase_no), angle_B.move_no))\n", - "# isa2move = {'A':isa2move_A, 'B':isa2move_B}\n", - "# isa2move" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, "outputs": [ { "name": "stdout", @@ -108,20 +103,7 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "self.parent_ids = sorted(self.inter_node[self.inter_node.inter_type=='parent'].node_id.unique())\n", - "self.child_ids = sorted(self.inter_node[self.inter_node.inter_type=='child'].node_id.unique())\n", - "self.uturn_ids = sorted(self.uturn.child_id.unique())\n", - "self.coord_ids = sorted(self.coord.child_id.unique())\n", - "self.node_ids = self.parent_ids + self.child_id" - ] - }, - { - "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -139,7 +121,148 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "self.make_match1()\n", + "self.make_match2()\n", + "self.make_match3()\n", + "self.make_match4()\n", + "self.make_match5()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "self.uturn = pd.merge(self.uturn, self.u_condition, on='child_id')\n", + "\n", + "# p2inc_edge2angle : node_id to inc_edge2angle\n", + "p2inc_edge2angle = dict()\n", + "# p2out_edge2angle : node_id to out_edge2angle\n", + "p2out_edge2angle = dict()\n", + "# p2inc_angle2edge : node_id to inc_angle2edge\n", + "p2inc_angle2edge = dict()\n", + "# p2out_angle2edge : node_id to out_angle2edge\n", + "p2out_angle2edge = dict()\n", + "for node_id in self.parent_ids:\n", + " m5 = self.match5[self.match5.node_id==node_id]\n", + " m5 = m5.dropna(subset=['inc_edge_id', 'out_edge_id'])\n", + " # inc_edge2angle : inc_edge_id to inc_angle\n", + " inc_edge2angle = dict(zip(m5.inc_edge_id, m5.inc_angle.astype(int)))\n", + " p2inc_edge2angle[node_id] = inc_edge2angle\n", + " # out_edge2angle : out_edge_id to out_angle\n", + " out_edge2angle = dict(zip(m5.out_edge_id, m5.out_angle.astype(int)))\n", + " p2out_edge2angle[node_id] = out_edge2angle\n", + " # inc_angle2edge : inc_angle to inc_edge_id\n", + " inc_angle2edge = dict(zip(m5.inc_angle.astype(int), m5.inc_edge_id))\n", + " p2inc_angle2edge[node_id] = inc_angle2edge\n", + " # out_angle2edge : out_angle to out_edge_id\n", + " out_angle2edge = dict(zip(m5.out_angle.astype(int), m5.out_edge_id))\n", + " p2out_angle2edge[node_id] = out_angle2edge\n", + "# 각 uturn node에 대하여 (inc_edge_id, out_edge_id) 부여\n", + "cmatches = []\n", + "row = self.uturn.iloc[0]\n", + "parent_id = row.parent_id\n", + "child_id = row.child_id\n", + "condition = row.condition\n", + "inc_edge_id = row.inc_edge_id\n", + "out_edge_id = row.out_edge_id\n", + "print(type(inc_edge_id))\n", + "adj_inc_edge_id = row.adj_inc_edge_id\n", + "adj_out_edge_id = row.adj_out_edge_id\n", + "\n", + "# match5에서 부모노드id에 해당하는 행들을 가져옴 (cmatch)\n", + "cmatch = self.match5.copy()[self.match5.node_id==parent_id] # match dataframe for a child node\n", + "cmatch = cmatch.sort_values(by=['phase_no', 'ring_type']).reset_index(drop=True)\n", + "cmatch['node_id'] = child_id\n", + "cmatch['node_type'] = 'u_turn'\n", + "\n", + "# 진입엣지 각도\n", + "inc_angle = p2inc_edge2angle[parent_id][adj_inc_edge_id]\n", + "\n", + "# 이격각도\n", + "self.angle_separation = 10\n", + "\n", + "# 진입로 각도 목록\n", + "inc_angles = cmatch.dropna(subset=['inc_angle', 'out_angle']).inc_angle.astype(int).unique()\n", + "inc_angles = np.sort(inc_angles)\n", + "inc_angles = list(inc_angles - 360) + list(inc_angles) + list(inc_angles + 360)\n", + "inc_angles = np.array(inc_angles)\n", + "\n", + "# 보행신호시의 진입로 각도\n", + "inc_angles_left = inc_angles[inc_angles >= inc_angle + self.angle_separation]\n", + "inc_angle_pedes = np.sort(inc_angles_left)[0] % 360\n", + "\n", + "# 보행신호시의 진입로 엣지id\n", + "inc_angle2edge = p2inc_angle2edge[parent_id]\n", + "inc_edge_id_pedes = inc_angle2edge[inc_angle_pedes]\n", + "\n", + "# 진출로 각도 목록\n", + "out_angles = cmatch.dropna(subset=['inc_angle', 'out_angle']).out_angle.astype(int).unique()\n", + "out_angles = np.sort(out_angles)\n", + "out_angles = list(out_angles - 360) + list(out_angles) + list(out_angles + 360)\n", + "out_angles = np.array(out_angles)\n", + "\n", + "# 보행신호시의 진출로 각도\n", + "out_angles_right = out_angles[out_angles <= inc_angle - self.angle_separation]\n", + "out_angle_pedes = np.sort(out_angles_right)[-1] % 360\n", + "\n", + "# 보행신호시의 진출로 엣지id\n", + "out_angle2edge = p2out_angle2edge[parent_id]\n", + "out_edge_id_pedes = out_angle2edge[out_angle_pedes]\n", + "\n", + "# 진입엣지/진출엣지 포함 조건\n", + "inc_true = (cmatch.inc_edge_id==adj_inc_edge_id)\n", + "out_true = (cmatch.out_edge_id==adj_out_edge_id)\n", + "\n", + "# 보행신호시 조건\n", + "pedes_flag = (cmatch.inc_edge_id==inc_edge_id_pedes) & (cmatch.out_edge_id==out_edge_id_pedes)\n", + "\n", + "# 좌회전시 조건\n", + "right_flag = inc_true & (cmatch.turn_type=='left')\n", + "\n", + "# 보행신호이동류(17) 조건\n", + "crosswalk_on = (cmatch.move_no==17) & ~ out_true\n", + "\n", + "# 신호없음이동류(18) 조건\n", + "all_redsigns = (cmatch.move_no==18) & ~ out_true" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(type(inc_edge_id))\n", + "print(type(out_edge_id))\n", + "print(cmatch[['inc_edge_id', 'out_edge_id']].info())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(inc_edge_id, out_edge_id)\n", + "# 보행신호시/좌회전시 진입/진출 엣지id 배정\n", + "cmatch[['inc_edge_id', 'out_edge_id']] = None\n", + "if condition == \"보행신호시\":\n", + " cmatch.loc[pedes_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", + "elif condition == \"좌회전시\":\n", + " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", + "\n", + "uturn_not_assigned = cmatch[['inc_edge_id','out_edge_id']].isna().any(axis=1).all()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -152,36 +275,6 @@ "2-4. 직진 및 좌회전(G)을 배정했습니다.\n", "2-5. node2num_cycles.json를 저장했습니다.\n" ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519797' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519796' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519799' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519798' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519801' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519800' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519873' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519874' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '516929' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '517055' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519834' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n", - "c:\\github\\siggen\\scripts\\preprocess_daily.py:741: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise an error in a future version of pandas. Value '519833' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", - " cmatch.loc[right_flag, ['inc_edge_id', 'out_edge_id']] = [inc_edge_id, out_edge_id]\n" - ] } ], "source": [ @@ -200,17 +293,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3. 이슈사항을 저장합니다.\n" - ] - } - ], + "outputs": [], "source": [ "self.write_issues()" ] diff --git a/analysis/0725_main_test/6_use_class_gs.ipynb b/analysis/0725_main_test/6_use_class_gs.ipynb index 11655f98c..09d38c1c6 100644 --- a/analysis/0725_main_test/6_use_class_gs.ipynb +++ b/analysis/0725_main_test/6_use_class_gs.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -44,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -58,7 +58,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -92,7 +92,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -117,7 +117,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -137,7 +137,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -154,123 +154,165 @@ }, { "cell_type": "code", - "execution_count": 9, + "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": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "2. 신호이력 테이블을 변환합니다.\n" - ] + "data": { + "text/plain": [ + "[436, 437, 442, 443, 455, 456, 457]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "self.process_history()" + "sorted(inter_no for inter_no in set(self.history.inter_no))" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": {}, - "outputs": [], + "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": [ - "phases = pd.read_csv(os.path.join(self.path_tables, 'TL_IF_SIGL.csv'))\n", - "phases = phases.drop(columns=['FRST_REG_DT', 'RINGA_FLOW', 'RINGB_FLOW'])\n", - "phases = phases.rename(columns={\n", - " 'PHASE_DT':'start_unix','CRSRD_ID':'inter_no',\n", - " 'RINGA_PHASE':'phas_A', 'RINGB_PHASE':'phas_B',\n", - " 'MAP_MODE':'STOS_NO'\n", - " })\n", - "isp2move_A = self.isp2move['A']\n", - "isp2move_B = self.isp2move['B']\n", - "phases['move_A'] = phases.apply(\n", - " lambda row: int(isp2move_A.get((row.inter_no, row.STOS_NO, row.phas_A), -1)), axis=1)\n", - "phases['move_B'] = phases.apply(\n", - " lambda row: int(isp2move_B.get((row.inter_no, row.STOS_NO, row.phas_B), -1)), axis=1)\n", - "phases['start_unix'] = phases['start_unix'].apply(lambda x:int(datetime.strptime(x, '%Y-%m-%d %H:%M:%S').timestamp()))\n", - "phases = phases[phases.inter_no.isin(self.inter_nos)].reset_index(drop=True)\n", - "phases = phases.drop(columns='STOS_NO')\n", - "\n", - "# - 아래 절차를 5초마다 반복\n", - "fsecs = list(range(self.present_time - self.sim_timespan, self.present_time + 1, 5))\n", - "for fsec in range(self.present_time - self.sim_timespan, self.present_time + 1, 5): # fsec : unix time by Five SECond\n", - " # 1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n", - " moves = [group.iloc[-1:] for _, group in phases[phases.start_unix <= fsec].groupby('inter_no')]\n", - " if not moves:\n", - " move = pd.DataFrame({'start_unix':[], 'inter_no':[], 'phas_A':[], 'phas_B':[], 'move_A':[], 'move_B':[]})\n", - " pass\n", - " else:\n", - " move = pd.concat(moves)\n", - " move = move.drop(columns='start_unix')\n", - " # move = pd.read_csv(os.path.join(self.path_tables, 'move', f'move_{fsec}.csv'))\n", - " # 2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n", - " recent_histories = [group.iloc[-1:] for _, group in self.history[self.history['end_unix'] < fsec].groupby('inter_no')] # 교차로별로 유닉스시간이 최대인 행들\n", - "\n", - " if not recent_histories:\n", - " rhistory = pd.DataFrame({'inter_no':[], 'end_unix':[]}) # recent history\n", - " else:\n", - " rhistory = pd.concat(recent_histories)\n", - " recent_unix = rhistory[['inter_no', 'end_unix']]\n", - " # 3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n", - " move = pd.merge(move, recent_unix, how='left', on='inter_no')\n", - " # move['end_unix'] = move['end_unix'].fillna(0).astype(int)\n", - " # 4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n", - " move = move.rename(columns = {'end_unix':'start_unix'})\n", - " # 5. 이동류 이력정보 READ\n", - " # - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성)\n", - " try:\n", - " movement # movement가 존재할 경우 그걸 그대로 씀.\n", - " except NameError: # movement가 존재하지 않는 경우 생성\n", - " movement = pd.DataFrame()\n", - " # 6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n", - " movement = pd.concat([movement, move])\n", - " # 7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n", - " movement = movement.drop_duplicates(['inter_no','phas_A','phas_B','start_unix'])\n", - " # # 8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n", - " movement = movement[movement.start_unix > fsec - self.subtractor // 2]\n", - "movement['start_unix'] = movement['start_unix'].astype(int)\n", - "self.movement = movement.reset_index(drop=True)\n", - "display(self.movement.head())" + "self.process_history()\n", + "sorted(inter_no for inter_no in set(self.rhistory.inter_no))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[436, 437, 442, 443, 455, 456, 457]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "self.update_movement()" + "sorted(inter_no for inter_no in set(self.rhists.inter_no))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[436, 437, 442, 443, 455, 456, 457]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# 4-1\n", - "self.merge_dfs()" + "sorted(inter_no for inter_no in set(self.hrhists.inter_no))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, - "outputs": [], + "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": [ - "# 4-2\n", - "self.assign_signals()" + "self.process_movement()\n", + "sorted(inter_no for inter_no in set(self.movement.inter_no))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4. 통합 테이블을 생성합니다.\n" + ] + } + ], "source": [ - "# 4-3\n", - "self.attach_children()" + "self.make_histids()" ] }, { @@ -280,170 +322,2890 @@ "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + "text/plain": [ + "[436, 437, 438, 442, 443, 444, 455, 456, 457, 458]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(inter_no for inter_no in set(self.movement_updated.inter_no))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[436, 437, 442, 443, 455, 456, 457]" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(inter_no for inter_no in set(self.movedur.inter_no))" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[436, 437, 442, 443, 455, 456, 457]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(inter_no for inter_no in set(self.histid.inter_no))" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['106231', '106234', '106332', '108769', '109836', '109901', '109986']" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(node_id for node_id in set(self.histid.node_id))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[436, 437, 442, 443, 455, 456, 457]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(inter_no for inter_no in set(self.histids.inter_no))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['106231',\n", + " '106234',\n", + " '106332',\n", + " '107587',\n", + " '108769',\n", + " '109295',\n", + " '109296',\n", + " '109297',\n", + " '109313',\n", + " '109333',\n", + " '109836',\n", + " '109901',\n", + " '109986']" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(node_id for node_id in set(self.histids.node_id))" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "self.set_timepoints()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:825: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "c:\\github\\siggen\\scripts\\generate_signals.py:826: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\n", + " SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n" + ] + } + ], + "source": [ + "self.assign_red_yellow()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "455" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "self.node2inter[self.node_ids[11]]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_B
04571062341722383873116245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr
14571062341722383873225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr
2457106234172238387333171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr
34571062341722383873448335grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr
44571062341722383873557440grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr
54561062311722383877115215grgrrrrGgrgrrGGr
64561062311722383877226228grgGGrrrgrgrrGGr
74561062311722383877337712gGgrrrrrgGgrrrrr
8456106231172238387744171735grgrrrrrgrgrrrrr
9455
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_noplan_nostart_hourstart_minutecycleoffsetdura_A1dura_A2dura_A3dura_A4...yellow_A4yellow_B4red_A5red_B5yellow_A5yellow_B5red_A6red_B6yellow_A6yellow_B6
194551609063632700...4400440044
\n", + "

1 rows × 47 columns

\n", + "
" + ], + "text/plain": [ + " inter_no plan_no start_hour start_minute cycle offset dura_A1 \\\n", + "19 455 1 6 0 90 63 63 \n", + "\n", + " dura_A2 dura_A3 dura_A4 ... yellow_A4 yellow_B4 red_A5 red_B5 \\\n", + "19 27 0 0 ... 4 4 0 0 \n", + "\n", + " yellow_A5 yellow_B5 red_A6 red_B6 yellow_A6 yellow_B6 \n", + "19 4 4 0 0 4 4 \n", + "\n", + "[1 rows x 47 columns]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "self.plan[self.plan.inter_no==455]" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "109901\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1574551099011722383976116263GGrrrrGG0
1584551099011722384066116263GGrrrrGG0
1594551099011722384067116263GGrrrrGG0
1604551099011722384155116263GGrrrrGG0
1614551099011722384156116263GGrrrrGG0
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "157 455 109901 1722383976 1 1 6 2 63 \n", + "158 455 109901 1722384066 1 1 6 2 63 \n", + "159 455 109901 1722384067 1 1 6 2 63 \n", + "160 455 109901 1722384155 1 1 6 2 63 \n", + "161 455 109901 1722384156 1 1 6 2 63 \n", + "\n", + " state_A state_B phase_sumo \n", + "157 GGrr rrGG 0 \n", + "158 GGrr rrGG 0 \n", + "159 GGrr rrGG 0 \n", + "160 GGrr rrGG 0 \n", + "161 GGrr rrGG 0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumored_Ared_Byellow_Ayellow_B
1574551099011722383976116263GGrrrrGG00.00.04.04.0
1584551099011722384066116263GGrrrrGG00.00.04.04.0
1594551099011722384067116263GGrrrrGG00.00.04.04.0
1604551099011722384155116263GGrrrrGG00.00.04.04.0
1614551099011722384156116263GGrrrrGG00.00.04.04.0
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "157 455 109901 1722383976 1 1 6 2 63 \n", + "158 455 109901 1722384066 1 1 6 2 63 \n", + "159 455 109901 1722384067 1 1 6 2 63 \n", + "160 455 109901 1722384155 1 1 6 2 63 \n", + "161 455 109901 1722384156 1 1 6 2 63 \n", + "\n", + " state_A state_B phase_sumo red_A red_B yellow_A yellow_B \n", + "157 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", + "158 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", + "159 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", + "160 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", + "161 GGrr rrGG 0 0.0 0.0 4.0 4.0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bdurationstate_Astate_Bphase_sumored_Ared_Byellow_Ayellow_B
15745510990117223839761163GGrrrrGG00044
15845510990117223840661163GGrrrrGG00044
15945510990117223840671163GGrrrrGG00044
16045510990117223841551163GGrrrrGG00044
16145510990117223841561163GGrrrrGG00044
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B duration state_A state_B \\\n", + "157 455 109901 1722383976 1 1 63 GGrr rrGG \n", + "158 455 109901 1722384066 1 1 63 GGrr rrGG \n", + "159 455 109901 1722384067 1 1 63 GGrr rrGG \n", + "160 455 109901 1722384155 1 1 63 GGrr rrGG \n", + "161 455 109901 1722384156 1 1 63 GGrr rrGG \n", + "\n", + " phase_sumo red_A red_B yellow_A yellow_B \n", + "157 0 0 0 4 4 \n", + "158 0 0 0 4 4 \n", + "159 0 0 0 4 4 \n", + "160 0 0 0 4 4 \n", + "161 0 0 0 4 4 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
start_unixphas_Adurationstate_Ared_Ayellow_A
01722383976163GGrr04
11722384066163GGrr04
21722384067163GGrr04
31722384155163GGrr04
41722384156163GGrr04
\n", + "
" + ], + "text/plain": [ + " start_unix phas_A duration state_A red_A yellow_A\n", + "0 1722383976 1 63 GGrr 0 4\n", + "1 1722384066 1 63 GGrr 0 4\n", + "2 1722384067 1 63 GGrr 0 4\n", + "3 1722384155 1 63 GGrr 0 4\n", + "4 1722384156 1 63 GGrr 0 4" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
start_unixphas_Bdurationstate_Bred_Byellow_B
01722383976163rrGG04
11722384066163rrGG04
21722384067163rrGG04
31722384155163rrGG04
41722384156163rrGG04
\n", + "
" + ], + "text/plain": [ + " start_unix phas_B duration state_B red_B yellow_B\n", + "0 1722383976 1 63 rrGG 0 4\n", + "1 1722384066 1 63 rrGG 0 4\n", + "2 1722384067 1 63 rrGG 0 4\n", + "3 1722384155 1 63 rrGG 0 4\n", + "4 1722384156 1 63 rrGG 0 4" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "self.SIGTABLE = []\n", + "node_id = self.node_ids[11]\n", + "print(node_id)\n", + "sig = self.sigtable.query('node_id==@node_id')\n", + "display(sig)\n", + "for i, row in sig.iterrows():\n", + " inter_no = row.inter_no\n", + " phas_A = row.phas_A\n", + " phas_B = row.phas_B\n", + " start_unix = row.start_unix\n", + " prow = self.load_prow(inter_no, start_unix)[1].iloc[0]\n", + " # 황색 및 적색시간 컬럼 생성\n", + " red_A = prow[f'red_A{phas_A}']\n", + " yellow_A = prow[f'yellow_A{phas_A}']\n", + " red_B = prow[f'red_B{phas_B}']\n", + " yellow_B = prow[f'yellow_B{phas_B}']\n", + " sig.loc[i, ['red_A', 'red_B', 'yellow_A', 'yellow_B']] = red_A, red_B, yellow_A, yellow_B\n", + "display(sig)\n", + "sig = sig.astype({'red_A': int, 'red_B': int, 'yellow_A': int, 'yellow_B': int,\n", + " 'phas_A':str, 'phas_B':str})\n", + "sig = sig.drop(['move_A','move_B'], axis=1)\n", + "display(sig)\n", + "\n", + "sig_A = sig[['start_unix', 'phas_A', 'duration', 'state_A', 'red_A', 'yellow_A']].reset_index(drop=True)\n", + "sig_B = sig[['start_unix', 'phas_B', 'duration', 'state_B', 'red_B', 'yellow_B']].reset_index(drop=True)\n", + "display(sig_A)\n", + "display(sig_B)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
start_timephas_Astate_Astart_unix
001gGGrr1722383976
1591yGGrr1722383976
2632rGGrr1722384066
3632gGGrr1722384066
41222yGGrr1722384066
51261rGGrr1722384067
61261gGGrr1722384067
71851yGGrr1722384067
81892rGGrr1722384155
91892gGGrr1722384155
102482yGGrr1722384155
112521rGGrr1722384156
122521gGGrr1722384156
133111yGGrr1722384156
\n", + "
" + ], + "text/plain": [ + " start_time phas_A state_A start_unix\n", + "0 0 1g GGrr 1722383976\n", + "1 59 1y GGrr 1722383976\n", + "2 63 2r GGrr 1722384066\n", + "3 63 2g GGrr 1722384066\n", + "4 122 2y GGrr 1722384066\n", + "5 126 1r GGrr 1722384067\n", + "6 126 1g GGrr 1722384067\n", + "7 185 1y GGrr 1722384067\n", + "8 189 2r GGrr 1722384155\n", + "9 189 2g GGrr 1722384155\n", + "10 248 2y GGrr 1722384155\n", + "11 252 1r GGrr 1722384156\n", + "12 252 1g GGrr 1722384156\n", + "13 311 1y GGrr 1722384156" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# csig_A = self.cumulate(sig_A, 'A')\n", + "sig = sig_A\n", + "alph = 'A'\n", + "csig = [] # cumulated sig\n", + "pre = pd.Series({f'phas_{alph}':None})\n", + "\n", + "sig[f'phas_{alph}'] = sig[f'phas_{alph}'].astype(int)\n", + "# 만약 현시번호가 1로 일정하면 2현시를 가상으로 추가\n", + "if (sig[f'phas_{alph}']==1).all():\n", + " sig_dup = sig.copy() \n", + " sig_dup[f'phas_{alph}'] = 2\n", + " sig = pd.concat([sig, sig_dup]).sort_values(by=['start_unix', f'phas_{alph}'])\n", + "\n", + "start_time = 0\n", + "elapsed = 0\n", + "for i, cur in sig.iterrows():\n", + " start_unix = cur.start_unix\n", + " \n", + " # pre, nex\n", + " if i != 0:\n", + " pre = sig.iloc[i-1]\n", + " \n", + " if i != len(sig) - 1:\n", + " nex = sig.iloc[i+1]\n", + " \n", + " # duration\n", + " if cur[f'phas_{alph}'] == nex[f'phas_{alph}']:\n", + " continue\n", + " if cur[f'phas_{alph}'] == pre[f'phas_{alph}']:\n", + " duration = cur.duration + pre.duration\n", + " else:\n", + " duration = cur.duration\n", + " start_times = []\n", + " states = []\n", + " phases = []\n", + "\n", + " # red\n", + " if i != 0:\n", + " start_time += elapsed\n", + " start_times.append(start_time)\n", + " states.append(self.get_red(pre[f'state_{alph}'], cur[f'state_{alph}']))\n", + " phases.append(f'{cur[f\"phas_{alph}\"]}r')\n", + "\n", + " elapsed = cur[f'red_{alph}']\n", + "\n", + " # green\n", + " if i == 0:\n", + " start_time = 0\n", + " else:\n", + " start_time += elapsed\n", + " start_times.append(start_time)\n", + " states.append(cur[f'state_{alph}'])\n", + " phases.append(f'{cur[f\"phas_{alph}\"]}g')\n", + " if i == 0:\n", + " elapsed = duration - cur[f'yellow_{alph}']\n", + " else:\n", + " elapsed = duration - cur[f'yellow_{alph}'] - cur[f'red_{alph}']\n", + "\n", + " # yellow\n", + " if i != len(sig) - 1:\n", + " start_time += elapsed\n", + " start_times.append(start_time)\n", + " states.append(self.get_yellow(cur[f'state_{alph}'], nex[f'state_{alph}']))\n", + " phases.append(f'{cur[f\"phas_{alph}\"]}y')\n", + " elapsed = cur[f'yellow_{alph}']\n", + " sig_ = pd.DataFrame({'start_time':start_times, f'phas_{alph}':phases, f'state_{alph}':states})\n", + " sig_['start_unix'] = start_unix\n", + " csig.append(sig_)\n", + "csig = pd.concat(csig).reset_index(drop=True)\n", + "csig\n" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "109901\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1574551099011722383976116263GGrrrrGG0
1584551099011722384066116263GGrrrrGG0
1594551099011722384067116263GGrrrrGG0
1604551099011722384155116263GGrrrrGG0
1614551099011722384156116263GGrrrrGG0
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "157 455 109901 1722383976 1 1 6 2 63 \n", + "158 455 109901 1722384066 1 1 6 2 63 \n", + "159 455 109901 1722384067 1 1 6 2 63 \n", + "160 455 109901 1722384155 1 1 6 2 63 \n", + "161 455 109901 1722384156 1 1 6 2 63 \n", + "\n", + " state_A state_B phase_sumo \n", + "157 GGrr rrGG 0 \n", + "158 GGrr rrGG 0 \n", + "159 GGrr rrGG 0 \n", + "160 GGrr rrGG 0 \n", + "161 GGrr rrGG 0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumored_Ared_Byellow_Ayellow_B
1574551099011722383976116263GGrrrrGG00.00.04.04.0
1584551099011722384066116263GGrrrrGG00.00.04.04.0
1594551099011722384067116263GGrrrrGG00.00.04.04.0
1604551099011722384155116263GGrrrrGG00.00.04.04.0
1614551099011722384156116263GGrrrrGG00.00.04.04.0
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "157 455 109901 1722383976 1 1 6 2 63 \n", + "158 455 109901 1722384066 1 1 6 2 63 \n", + "159 455 109901 1722384067 1 1 6 2 63 \n", + "160 455 109901 1722384155 1 1 6 2 63 \n", + "161 455 109901 1722384156 1 1 6 2 63 \n", + "\n", + " state_A state_B phase_sumo red_A red_B yellow_A yellow_B \n", + "157 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", + "158 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", + "159 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", + "160 GGrr rrGG 0 0.0 0.0 4.0 4.0 \n", + "161 GGrr rrGG 0 0.0 0.0 4.0 4.0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bdurationstate_Astate_Bphase_sumored_Ared_Byellow_Ayellow_B
15745510990117223839761163GGrrrrGG00044
15845510990117223840661163GGrrrrGG00044
15945510990117223840671163GGrrrrGG00044
16045510990117223841551163GGrrrrGG00044
161455109901172238388617223841561163GGrrrrGG00044
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B duration state_A state_B \\\n", + "157 455 109901 1722383976 1 1 63 GGrr rrGG \n", + "158 455 109901 1722384066 1 1 63 GGrr rrGG \n", + "159 455 109901 1722384067 1 1 63 GGrr rrGG \n", + "160 455 109901 1722384155 1 1 63 GGrr rrGG \n", + "161 455 109901 1722384156 1 1 63 GGrr rrGG \n", + "\n", + " phase_sumo red_A red_B yellow_A yellow_B \n", + "157 0 0 0 4 4 \n", + "158 0 0 0 4 4 \n", + "159 0 0 0 4 4 \n", + "160 0 0 0 4 4 \n", + "161 0 0 0 4 4 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
start_unixphas_Adurationstate_Ared_Ayellow_A
01722383976163GGrr04
11722384066163GGrr04
21722384067163GGrr04
31722384155163GGrr04
41722384156163GGrr04
\n", + "
" + ], + "text/plain": [ + " start_unix phas_A duration state_A red_A yellow_A\n", + "0 1722383976 1 63 GGrr 0 4\n", + "1 1722384066 1 63 GGrr 0 4\n", + "2 1722384067 1 63 GGrr 0 4\n", + "3 1722384155 1 63 GGrr 0 4\n", + "4 1722384156 1 63 GGrr 0 4" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
start_unixphas_Bdurationstate_Bred_Byellow_B
01722383976163rrGG04
11722384066163rrGG04
21722384067163rrGG04
31722384155163rrGG04
41722384156163rrGG04
\n", + "
" + ], + "text/plain": [ + " start_unix phas_B duration state_B red_B yellow_B\n", + "0 1722383976 1 63 rrGG 0 4\n", + "1 1722384066 1 63 rrGG 0 4\n", + "2 1722384067 1 63 rrGG 0 4\n", + "3 1722384155 1 63 rrGG 0 4\n", + "4 1722384156 1 63 rrGG 0 4" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "ename": "ValueError", + "evalue": "No objects to concatenate", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[50], line 29\u001b[0m\n\u001b[0;32m 26\u001b[0m display(sig_A)\n\u001b[0;32m 27\u001b[0m display(sig_B)\n\u001b[1;32m---> 29\u001b[0m csig_A \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcumulate\u001b[49m\u001b[43m(\u001b[49m\u001b[43msig_A\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mA\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[0;32m 30\u001b[0m csig_B \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcumulate(sig_B, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mB\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m 31\u001b[0m display(csig_A)\n", + "File \u001b[1;32mc:\\github\\siggen\\scripts\\generate_signals.py:942\u001b[0m, in \u001b[0;36mSignalGenerator.cumulate\u001b[1;34m(self, sig, alph)\u001b[0m\n\u001b[0;32m 940\u001b[0m sig_[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstart_unix\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m start_unix\n\u001b[0;32m 941\u001b[0m csig\u001b[38;5;241m.\u001b[39mappend(sig_)\n\u001b[1;32m--> 942\u001b[0m csig \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconcat\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcsig\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mreset_index(drop\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[0;32m 943\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m csig\n", + "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\reshape\\concat.py:382\u001b[0m, in \u001b[0;36mconcat\u001b[1;34m(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[0m\n\u001b[0;32m 379\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m copy \u001b[38;5;129;01mand\u001b[39;00m using_copy_on_write():\n\u001b[0;32m 380\u001b[0m copy \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[1;32m--> 382\u001b[0m op \u001b[38;5;241m=\u001b[39m \u001b[43m_Concatenator\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 383\u001b[0m \u001b[43m \u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 384\u001b[0m \u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 385\u001b[0m \u001b[43m \u001b[49m\u001b[43mignore_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 386\u001b[0m \u001b[43m \u001b[49m\u001b[43mjoin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mjoin\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 387\u001b[0m \u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 388\u001b[0m \u001b[43m \u001b[49m\u001b[43mlevels\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 389\u001b[0m \u001b[43m \u001b[49m\u001b[43mnames\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnames\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 390\u001b[0m \u001b[43m \u001b[49m\u001b[43mverify_integrity\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mverify_integrity\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 391\u001b[0m \u001b[43m \u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcopy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 392\u001b[0m \u001b[43m \u001b[49m\u001b[43msort\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msort\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 393\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 395\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m op\u001b[38;5;241m.\u001b[39mget_result()\n", + "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\reshape\\concat.py:445\u001b[0m, in \u001b[0;36m_Concatenator.__init__\u001b[1;34m(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[0m\n\u001b[0;32m 442\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mverify_integrity \u001b[38;5;241m=\u001b[39m verify_integrity\n\u001b[0;32m 443\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcopy \u001b[38;5;241m=\u001b[39m copy\n\u001b[1;32m--> 445\u001b[0m objs, keys \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_clean_keys_and_objs\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 447\u001b[0m \u001b[38;5;66;03m# figure out what our result ndim is going to be\u001b[39;00m\n\u001b[0;32m 448\u001b[0m ndims \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_ndims(objs)\n", + "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\reshape\\concat.py:507\u001b[0m, in \u001b[0;36m_Concatenator._clean_keys_and_objs\u001b[1;34m(self, objs, keys)\u001b[0m\n\u001b[0;32m 504\u001b[0m objs_list \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(objs)\n\u001b[0;32m 506\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(objs_list) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m--> 507\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo objects to concatenate\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 509\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m keys \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m 510\u001b[0m objs_list \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(com\u001b[38;5;241m.\u001b[39mnot_none(\u001b[38;5;241m*\u001b[39mobjs_list))\n", + "\u001b[1;31mValueError\u001b[0m: No objects to concatenate" + ] + } + ], + "source": [ + "self.SIGTABLE = []\n", + "node_id = self.node_ids[11]\n", + "print(node_id)\n", + "sig = self.sigtable.query('node_id==@node_id')\n", + "display(sig)\n", + "for i, row in sig.iterrows():\n", + " inter_no = row.inter_no\n", + " phas_A = row.phas_A\n", + " phas_B = row.phas_B\n", + " start_unix = row.start_unix\n", + " prow = self.load_prow(inter_no, start_unix)[1].iloc[0]\n", + " # 황색 및 적색시간 컬럼 생성\n", + " red_A = prow[f'red_A{phas_A}']\n", + " yellow_A = prow[f'yellow_A{phas_A}']\n", + " red_B = prow[f'red_B{phas_B}']\n", + " yellow_B = prow[f'yellow_B{phas_B}']\n", + " sig.loc[i, ['red_A', 'red_B', 'yellow_A', 'yellow_B']] = red_A, red_B, yellow_A, yellow_B\n", + "display(sig)\n", + "sig = sig.astype({'red_A': int, 'red_B': int, 'yellow_A': int, 'yellow_B': int,\n", + " 'phas_A':str, 'phas_B':str})\n", + "sig = sig.drop(['move_A','move_B'], axis=1)\n", + "display(sig)\n", + "\n", + "sig_A = sig[['start_unix', 'phas_A', 'duration', 'state_A', 'red_A', 'yellow_A']].reset_index(drop=True)\n", + "sig_B = sig[['start_unix', 'phas_B', 'duration', 'state_B', 'red_B', 'yellow_B']].reset_index(drop=True)\n", + "display(sig_A)\n", + "display(sig_B)\n", + "\n", + "csig_A = self.cumulate(sig_A, 'A')\n", + "csig_B = self.cumulate(sig_B, 'B')\n", + "display(csig_A)\n", + "display(csig_B)\n", + "\n", + "SIG = pd.merge(csig_A, csig_B, on=['start_time', 'start_unix'], how='outer')\n", + "display(SIG[:40])\n", + "SIG = SIG.sort_values(by='start_time').reset_index(drop=True)\n", + "SIG[['phas_A', 'state_A']] = SIG[['phas_A', 'state_A']].fillna(method='ffill')\n", + "SIG[['phas_B', 'state_B']] = SIG[['phas_B', 'state_B']].fillna(method='ffill')\n", + "SIG['phase'] = SIG['phas_A'] + \"_\" + SIG['phas_B']\n", + "SIG['node_id'] = node_id\n", + "SIG = SIG[['node_id', 'start_unix', 'start_time', 'phase', 'state_A', 'state_B']]\n", + "SIG['duration'] = SIG['start_time'].shift(-1) - SIG['start_time']\n", + "SIG = SIG[:-1]\n", + "SIG['duration'] = SIG['duration'].astype(int)\n", + "display(SIG[:40])\n", + "for row in SIG.itertuples():\n", + " state = ''\n", + " for a, b, in zip(row.state_A, row.state_B):\n", + " if a == 'r':\n", + " state += b\n", + " elif b == 'r':\n", + " state += a\n", + " elif a == b:\n", + " state += a\n", + " else:\n", + " raise ValueError(f\"예상되지 않은 조합 발생: a={a}, b={b}\")\n", + " SIG.at[row.Index, 'state'] = state\n", + "display(SIG[:40])\n", + "SIG = SIG[SIG.duration!=0]\n", + "SIG = SIG.drop(columns=['start_time', 'state_A', 'state_B'])\n", + "display(SIG[:40])\n", + "self.SIGTABLE.append(SIG)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1722384300\n", + "300\n" + ] + } + ], + "source": [ + "self.offsets = {}\n", + "self.sigtable = []\n", + "sim_start = self.present_time - self.sim_timespan\n", + "print(self.present_time)\n", + "print(self.sim_timespan)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1722383877" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "node_id = '106231'\n", + "group = self.histids[self.histids.node_id==node_id]\n", + "min_start_unix = int(group['start_unix'].min())\n", + "min_start_unix" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1722384007 1722384000 200\n", + "True\n", + " hello \n", + "1722384007\n" + ] + } + ], + "source": [ + "node_id = '107587'\n", + "group = self.histids[self.histids.node_id==node_id]\n", + "series = group[group['start_unix'] < sim_start]['start_unix']\n", + "min_start_unix = int(group['start_unix'].min())\n", + "inter_no = self.node2inter[node_id]\n", + "_, prow = self.load_prow(inter_no, min_start_unix)\n", + "cycle = prow.iloc[0]['cycle']\n", + "lsbs = min_start_unix\n", + "print(lsbs, sim_start, cycle)\n", + "print(lsbs > sim_start)\n", + "print(type(lsbs), 'hello', type(sim_start))\n", + "while lsbs > sim_start:\n", + " lsbs -= cycle\n", + "print(min_start_unix)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "self.offsets = {}\n", + "self.sigtable = []\n", + "sim_start = self.present_time - self.sim_timespan\n", + "for node_id, group in self.histids.groupby('node_id'):\n", + " series = group[group['start_unix'] < sim_start]['start_unix']\n", + " # lsbs : the last start_unix before sim_start\n", + " if len(series):\n", + " lsbs = series.max()\n", + " else:\n", + " min_start_unix = int(group['start_unix'].min())\n", + " inter_no = self.node2inter[node_id]\n", + " _, prow = self.load_prow(inter_no, min_start_unix)\n", + " cycle = prow.iloc[0]['cycle']\n", + " lsbs = min_start_unix\n", + " while lsbs > sim_start:\n", + " lsbs -= cycle\n", + " self.offsets[node_id] = lsbs - sim_start\n", + " group = group[group.start_unix >= lsbs]\n", + " start_unixes = np.array(group.start_unix)\n", + " start_unixes = np.sort(np.unique(start_unixes))[:self.node2num_cycles[node_id]]\n", + "\n", + " group = group[group.start_unix.isin(start_unixes)]\n", + " self.sigtable.append(group)\n", + "self.sigtable = pd.concat(self.sigtable).reset_index(drop=True)\n", + "self.sigtable['phase_sumo'] = self.sigtable.groupby(['node_id', 'start_unix']).cumcount()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[436, 437, 442, 443, 455, 456, 457]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(inter_no for inter_no in set(self.sigtable.inter_no))" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['106231',\n", + " '106234',\n", + " '106332',\n", + " '107587',\n", + " '108769',\n", + " '109295',\n", + " '109296',\n", + " '109297',\n", + " '109313',\n", + " '109333',\n", + " '109836',\n", + " '109901',\n", + " '109986']" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sorted(node_id for node_id in set(self.sigtable.node_id))" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "# 5-1\n", + "self.set_timepoints()" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
04561062311722383968115215grgrrrrGgrgrrGGr0
14561062311722383968226228grgGGrrrgrgrrGGr1
24561062311722383968337712gGgrrrrrgGgrrrrr2
3456106231172238396844171735grgrrrrrgrgrrrrr3
44561062311722384057115215grgrrrrGgrgrrGGr0
54561062311722384057226228grgGGrrrgrgrrGGr1
64561062311722384057337712gGgrrrrrgGgrrrrr2
7456106231172238405744171735grgrrrrrgrgrrrrr3
84561062311722384058115215grgrrrrGgrgrrGGr0
94561062311722384058226228grgGGrrrgrgrrGGr1
104561062311722384058337712gGgrrrrrgGgrrrrr2
11456106231172238405844171735grgrrrrrgrgrrrrr3
124561062311722384147115215grgrrrrGgrgrrGGr0
134561062311722384147115215grgrrrrGgrgrrGGr1
144561062311722384147226228grgGGrrrgrgrrGGr2
154561062311722384147226228grgGGrrrgrgrrGGr3
164561062311722384147337712gGgrrrrrgGgrrrrr4
174561062311722384147337712gGgrrrrrgGgrrrrr5
18456106231172238414744171735grgrrrrrgrgrrrrr6
19456106231172238414744171735grgrrrrrgrgrrrrr7
204561062311722384237115215grgrrrrGgrgrrGGr0
214561062311722384237226228grgGGrrrgrgrrGGr1
224561062311722384237337712gGgrrrrrgGgrrrrr2
23456106231172238423744171735grgrrrrrgrgrrrrr3
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "0 456 106231 1722383968 1 1 5 2 15 \n", + "1 456 106231 1722383968 2 2 6 2 28 \n", + "2 456 106231 1722383968 3 3 7 7 12 \n", + "3 456 106231 1722383968 4 4 17 17 35 \n", + "4 456 106231 1722384057 1 1 5 2 15 \n", + "5 456 106231 1722384057 2 2 6 2 28 \n", + "6 456 106231 1722384057 3 3 7 7 12 \n", + "7 456 106231 1722384057 4 4 17 17 35 \n", + "8 456 106231 1722384058 1 1 5 2 15 \n", + "9 456 106231 1722384058 2 2 6 2 28 \n", + "10 456 106231 1722384058 3 3 7 7 12 \n", + "11 456 106231 1722384058 4 4 17 17 35 \n", + "12 456 106231 1722384147 1 1 5 2 15 \n", + "13 456 106231 1722384147 1 1 5 2 15 \n", + "14 456 106231 1722384147 2 2 6 2 28 \n", + "15 456 106231 1722384147 2 2 6 2 28 \n", + "16 456 106231 1722384147 3 3 7 7 12 \n", + "17 456 106231 1722384147 3 3 7 7 12 \n", + "18 456 106231 1722384147 4 4 17 17 35 \n", + "19 456 106231 1722384147 4 4 17 17 35 \n", + "20 456 106231 1722384237 1 1 5 2 15 \n", + "21 456 106231 1722384237 2 2 6 2 28 \n", + "22 456 106231 1722384237 3 3 7 7 12 \n", + "23 456 106231 1722384237 4 4 17 17 35 \n", + "\n", + " state_A state_B phase_sumo \n", + "0 grgrrrrG grgrrGGr 0 \n", + "1 grgGGrrr grgrrGGr 1 \n", + "2 gGgrrrrr gGgrrrrr 2 \n", + "3 grgrrrrr grgrrrrr 3 \n", + "4 grgrrrrG grgrrGGr 0 \n", + "5 grgGGrrr grgrrGGr 1 \n", + "6 gGgrrrrr gGgrrrrr 2 \n", + "7 grgrrrrr grgrrrrr 3 \n", + "8 grgrrrrG grgrrGGr 0 \n", + "9 grgGGrrr grgrrGGr 1 \n", + "10 gGgrrrrr gGgrrrrr 2 \n", + "11 grgrrrrr grgrrrrr 3 \n", + "12 grgrrrrG grgrrGGr 0 \n", + "13 grgrrrrG grgrrGGr 1 \n", + "14 grgGGrrr grgrrGGr 2 \n", + "15 grgGGrrr grgrrGGr 3 \n", + "16 gGgrrrrr gGgrrrrr 4 \n", + "17 gGgrrrrr gGgrrrrr 5 \n", + "18 grgrrrrr grgrrrrr 6 \n", + "19 grgrrrrr grgrrrrr 7 \n", + "20 grgrrrrG grgrrGGr 0 \n", + "21 grgGGrrr grgrrGGr 1 \n", + "22 gGgrrrrr gGgrrrrr 2 \n", + "23 grgrrrrr grgrrrrr 3 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
244571062341722383873116245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr0
254571062341722383873225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr1
26457106234172238387333171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr2
274571062341722383873448335grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr3
284571062341722383873557440grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr4
294571062341722384052116263GGrrrrGG45gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr0
304571062341722384052225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr1
31457106234172238405233171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr2
324571062341722384052448340grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr3
334571062341722384052557435grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr4
344571062341722384232116245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr0
354571062341722384232225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr1
36457106234172238423233171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr2
374571062341722384232448340grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr3
384571062341722384232557435grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr4
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "24 457 106234 1722383873 1 1 6 2 45 \n", + "25 457 106234 1722383873 2 2 5 1 20 \n", + "26 457 106234 1722383873 3 3 17 17 40 \n", + "27 457 106234 1722383873 4 4 8 3 35 \n", + "28 457 106234 1722383873 5 5 7 4 40 \n", + "29 457 106234 1722384052 1 1 6 2 45 \n", + "30 457 106234 1722384052 2 2 5 1 20 \n", + "31 457 106234 1722384052 3 3 17 17 40 \n", + "32 457 106234 1722384052 4 4 8 3 40 \n", + "33 457 106234 1722384052 5 5 7 4 35 \n", + "34 457 106234 1722384232 1 1 6 2 45 \n", + "35 457 106234 1722384232 2 2 5 1 20 \n", + "36 457 106234 1722384232 3 3 17 17 40 \n", + "37 457 106234 1722384232 4 4 8 3 40 \n", + "38 457 106234 1722384232 5 5 7 4 35 \n", + "\n", + " state_A state_B phase_sumo \n", + "24 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr 0 \n", + "25 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr 1 \n", + "26 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr 2 \n", + "27 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr 3 \n", + "28 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr 4 \n", + "29 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr 0 \n", + "30 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr 1 \n", + "31 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr 2 \n", + "32 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr 3 \n", + "33 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr 4 \n", + "34 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr 0 \n", + "35 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr 1 \n", + "36 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr 2 \n", + "37 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr 3 \n", + "38 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr 4 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [inter_no, node_id, start_unix, phas_A, phas_B, move_A, move_B, duration, state_A, state_B, phase_sumo]\n", + "Index: []" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "106238\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -454,9 +3216,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -467,9 +3230,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -480,9 +3244,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -493,9 +3258,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -506,9 +3272,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -519,9 +3286,317 @@ " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
1039442106332172238389831gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr0
1140442106332172238389827gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr1
1241442106332172238389832grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr2
1342442106332172238389849grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr3
1443442106332172238389845grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr4
1544442106332172238389816grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr5
454421063321722384097116135gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr0
464421063321722384097226227gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr1
474421063321722384097335230grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr2
484421063321722384097447447grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr3
494421063321722384097558345grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr4
504421063321722384097668316grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr5
514421063321722384297116135gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr0
524421063321722384297226227gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr1
534421063321722384297335230grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr2
544421063321722384297447447grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr3
554421063321722384297558345grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr4
564421063321722384297668316grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr5
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "39 442 106332 1722383898 1 1 6 1 31 \n", + "40 442 106332 1722383898 2 2 6 2 27 \n", + "41 442 106332 1722383898 3 3 5 2 32 \n", + "42 442 106332 1722383898 4 4 7 4 49 \n", + "43 442 106332 1722383898 5 5 8 3 45 \n", + "44 442 106332 1722383898 6 6 8 3 16 \n", + "45 442 106332 1722384097 1 1 6 1 35 \n", + "46 442 106332 1722384097 2 2 6 2 27 \n", + "47 442 106332 1722384097 3 3 5 2 30 \n", + "48 442 106332 1722384097 4 4 7 4 47 \n", + "49 442 106332 1722384097 5 5 8 3 45 \n", + "50 442 106332 1722384097 6 6 8 3 16 \n", + "51 442 106332 1722384297 1 1 6 1 35 \n", + "52 442 106332 1722384297 2 2 6 2 27 \n", + "53 442 106332 1722384297 3 3 5 2 30 \n", + "54 442 106332 1722384297 4 4 7 4 47 \n", + "55 442 106332 1722384297 5 5 8 3 45 \n", + "56 442 106332 1722384297 6 6 8 3 16 \n", + "\n", + " state_A state_B phase_sumo \n", + "39 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr 0 \n", + "40 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 1 \n", + "41 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 2 \n", + "42 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr 3 \n", + "43 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 4 \n", + "44 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 5 \n", + "45 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr 0 \n", + "46 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 1 \n", + "47 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 2 \n", + "48 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr 3 \n", + "49 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 4 \n", + "50 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 5 \n", + "51 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr 0 \n", + "52 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 1 \n", + "53 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr 2 \n", + "54 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr 3 \n", + "55 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 4 \n", + "56 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr 5 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [inter_no, node_id, start_unix, phas_A, phas_B, move_A, move_B, duration, state_A, state_B, phase_sumo]\n", + "Index: []" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "106350\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -532,9 +3607,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -545,9 +3621,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -558,204 +3635,160 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
16654431087691722383902125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr0
1766443108769172238390225grrrrrrrrrrGgrrgrrrrrGGGGGrgrr1
1867443108769172238390250grrrrrrrrrrrgGGgrrrrrrrrrrrgrr
194561062311722383967115215grgrrrrGgrgrrGGr
204561062311722383967226228grgGGrrrgrgrrGGr
214561062311722383967337-112gGgrrrrrgrgrrrrr
2245610623117223839674417-135grgrrrrrgrgrrrrr
2345610623117223839686844310876917223841021156215grgrrrrGgrgrrGGr125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr0
2445610623117223839686944310876917223841022265228grgGGrrrgrgrrGGr25grrrrrrrrrrGgrrgrrrrrGGGGGrgrr1
254561062311722383968704431087691722384102337712gGgrrrrrgGgrrrrr
26456106231172238396844171735grgrrrrrgrgrrrrr
274551099011722383975116263GGrrrrGG
284551099011722383976116263GGrrrrGG
29455109901172238397621850grrrrrrrrrrrgGGgrrrrrrrrrrrgrr2-1-127rrrrrrrr
304371099861722384007714431087691722384302116277gGGGGrgrrgrrrrrgrrgrrrrrgrrgGGGGrgrr125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr0
314371099861722384007724431087691722384302225225grrrrrrrrrrGgrrgrrrrrGGGGGrgrr128grrrrrgrrgrrrrGgrrgrrrrGgrrgrrrrrgrr
324371099861722384007373443108769172238430238346grrrrrgGrgrrrrrgrrgrrrrrgrGgrrrrrgrr
334371099861722384007447449grrrrrgrrgrrrrrgrGgrrrrrgrrgrrrrrgGr1850grrrrrrrrrrrgGGgrrrrrrrrrrrgrr2
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "65 443 108769 1722383902 1 1 6 2 125 \n", + "66 443 108769 1722383902 2 2 5 2 25 \n", + "67 443 108769 1722383902 3 3 7 18 50 \n", + "68 443 108769 1722384102 1 1 6 2 125 \n", + "69 443 108769 1722384102 2 2 5 2 25 \n", + "70 443 108769 1722384102 3 3 7 18 50 \n", + "71 443 108769 1722384302 1 1 6 2 125 \n", + "72 443 108769 1722384302 2 2 5 2 25 \n", + "73 443 108769 1722384302 3 3 7 18 50 \n", + "\n", + " state_A state_B phase_sumo \n", + "65 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr 0 \n", + "66 grrrrrrrrrrGgrr grrrrrGGGGGrgrr 1 \n", + "67 grrrrrrrrrrrgGG grrrrrrrrrrrgrr 2 \n", + "68 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr 0 \n", + "69 grrrrrrrrrrGgrr grrrrrGGGGGrgrr 1 \n", + "70 grrrrrrrrrrrgGG grrrrrrrrrrrgrr 2 \n", + "71 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr 0 \n", + "72 grrrrrrrrrrGgrr grrrrrGGGGGrgrr 1 \n", + "73 grrrrrrrrrrrgGG grrrrrrrrrrrgrr 2 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -766,9 +3799,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -779,9 +3813,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -792,9 +3827,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -805,178 +3841,208 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
34145436109836172238403650grrrrgrrgrGgrrgrrrrgrrgGrgrr0
35146436109836172238403685grrrrgGrgrrgrrgrrrrgrGgrrgrr1
36147436109836172238403635grrrrgrrgrrgrGgrrrrgrrgrrgGr2
37148436109836172238403630gGGGrgrrgrrgrrgrrrGgrrgrrgrr3
38457106234172238405214943610983617223842361165245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr50grrrrgrrgrGgrrgrrrrgrrgGrgrr0
39457106234172238405215043610983617223842362258385grrrrgGrgrrgrrgrrrrgrGgrrgrr120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr
404571062341722384052151436109836172238423633171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr7435grrrrgrrgrrgrGgrrrrgrrgrrgGr2
41457106234172238405215243610983617223842364486130gGGGrgrrgrrgrrgrrrGgrrgrrgrr340grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr
424571062341722384052557435grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr
4345610623117223840571534361098361722384436115215grgrrrrGgrgrrGGr50grrrrgrrgrGgrrgrrrrgrrgGrgrr0
4445610623117223840572154436109836172238443626228grgGGrrrgrgrrGGr8385grrrrgGrgrrgrrgrrrrgrGgrrgrr1
4545610623117223840571554361098361722384436337712gGgrrrrrgGgrrrrr
46456106231172238405744171735grgrrrrrgrgrrrrr
474561062311722384058115grrrrgrrgrrgrGgrrrrgrrgrrgGr215grgrrrrGgrgrrGGr
484561062311722384058221564361098361722384436446228grgGGrrrgrgrrGGr
4945610623117223840583130gGGGrgrrgrrgrrgrrrGgrrgrrgrr37712gGgrrrrrgGgrrrrr
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "145 436 109836 1722384036 1 1 5 2 50 \n", + "146 436 109836 1722384036 2 2 8 3 85 \n", + "147 436 109836 1722384036 3 3 7 4 35 \n", + "148 436 109836 1722384036 4 4 6 1 30 \n", + "149 436 109836 1722384236 1 1 5 2 50 \n", + "150 436 109836 1722384236 2 2 8 3 85 \n", + "151 436 109836 1722384236 3 3 7 4 35 \n", + "152 436 109836 1722384236 4 4 6 1 30 \n", + "153 436 109836 1722384436 1 1 5 2 50 \n", + "154 436 109836 1722384436 2 2 8 3 85 \n", + "155 436 109836 1722384436 3 3 7 4 35 \n", + "156 436 109836 1722384436 4 4 6 1 30 \n", + "\n", + " state_A state_B phase_sumo \n", + "145 grrrrgrrgrGgrr grrrrgrrgGrgrr 0 \n", + "146 grrrrgGrgrrgrr grrrrgrGgrrgrr 1 \n", + "147 grrrrgrrgrrgrG grrrrgrrgrrgGr 2 \n", + "148 gGGGrgrrgrrgrr grrrGgrrgrrgrr 3 \n", + "149 grrrrgrrgrGgrr grrrrgrrgGrgrr 0 \n", + "150 grrrrgGrgrrgrr grrrrgrGgrrgrr 1 \n", + "151 grrrrgrrgrrgrG grrrrgrrgrrgGr 2 \n", + "152 gGGGrgrrgrrgrr grrrGgrrgrrgrr 3 \n", + "153 grrrrgrrgrGgrr grrrrgrrgGrgrr 0 \n", + "154 grrrrgGrgrrgrr grrrrgrGgrrgrr 1 \n", + "155 grrrrgrrgrrgrG grrrrgrrgrrgGr 2 \n", + "156 gGGGrgrrgrrgrr grrrGgrrgrrgrr 3 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -987,9 +4053,10 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1000,1345 +4067,1755 @@ " \n", " \n", " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
50456106231172238405844171735grgrrrrrgrgrrrrr1574551099011722383976116263GGrrrrGG0
51158455109901172238406663GGrrrrGG0
52159455109901172238406763GGrrrrGG0
5344210633217223840971160455109901172238415516135gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr
544421063321722384097226227gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr63GGrrrrGG0
5544210633217223840973351614551099011722384156116230grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr
564421063321722384097447447grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr
574421063321722384097558345grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr63GGrrrrGG0
584421063321722384097668316grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "157 455 109901 1722383976 1 1 6 2 63 \n", + "158 455 109901 1722384066 1 1 6 2 63 \n", + "159 455 109901 1722384067 1 1 6 2 63 \n", + "160 455 109901 1722384155 1 1 6 2 63 \n", + "161 455 109901 1722384156 1 1 6 2 63 \n", + "\n", + " state_A state_B phase_sumo \n", + "157 GGrr rrGG 0 \n", + "158 GGrr rrGG 0 \n", + "159 GGrr rrGG 0 \n", + "160 GGrr rrGG 0 \n", + "161 GGrr rrGG 0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
59443108769172238410216243710998617223840071162125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr77gGGGGrgrrgrrrrrgrrgrrrrrgrrgGGGGrgrr0
6044310876917223841021634371099861722384007225225grrrrrrrrrrGgrrgrrrrrGGGGGrgrr128grrrrrgrrgrrrrGgrrgrrrrGgrrgrrrrrgrr1
61443108769172238410216443710998617223840073371850grrrrrrrrrrrgGGgrrrrrrrrrrrgrr
6245610623117223841471158346grrrrrgGrgrrrrrgrrgrrrrrgrGgrrrrrgrr215grgrrrrGgrgrrGGr
634561062311722384147115215grgrrrrGgrgrrGGr1654371099861722384007447449grrrrrgrrgrrrrrgrGgrrrrrgrrgrrrrrgGr3
644561062311722384147221664371099861722384700116228grgGGrrrgrgrrGGr71gGGGGrgrrgrrrrrgrrgrrrrrgrrgGGGGrgrr0
654561062311722384147216743710998617223847002625128grgGGrrrgrgrrGGrgrrrrrgrrgrrrrGgrrgrrrrGgrrgrrrrrgrr1
6645610623117223841473168437109986172238470037712gGgrrrrrgGgrrrrr
6745610623117223841473837712gGgrrrrrgGgrrrrr58grrrrrgGrgrrrrrgrrgrrrrrgrGgrrrrrgrr2
684561062311722384147416943710998617223847004171735grgrrrrrgrgrrrrr
694561062311722384147474171735grgrrrrrgrgrrrrr43grrrrrgrrgrrrrrgrGgrrrrrgrrgrrrrrgGr3
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "162 437 109986 1722384007 1 1 6 2 77 \n", + "163 437 109986 1722384007 2 2 5 1 28 \n", + "164 437 109986 1722384007 3 3 8 3 46 \n", + "165 437 109986 1722384007 4 4 7 4 49 \n", + "166 437 109986 1722384700 1 1 6 2 71 \n", + "167 437 109986 1722384700 2 2 5 1 28 \n", + "168 437 109986 1722384700 3 3 8 3 58 \n", + "169 437 109986 1722384700 4 4 7 4 43 \n", + "\n", + " state_A state_B phase_sumo \n", + "162 gGGGGrgrrgrrrrrgrr grrrrrgrrgGGGGrgrr 0 \n", + "163 grrrrrgrrgrrrrGgrr grrrrGgrrgrrrrrgrr 1 \n", + "164 grrrrrgGrgrrrrrgrr grrrrrgrGgrrrrrgrr 2 \n", + "165 grrrrrgrrgrrrrrgrG grrrrrgrrgrrrrrgGr 3 \n", + "166 gGGGGrgrrgrrrrrgrr grrrrrgrrgGGGGrgrr 0 \n", + "167 grrrrrgrrgrrrrGgrr grrrrGgrrgrrrrrgrr 1 \n", + "168 grrrrrgGrgrrrrrgrr grrrrrgrGgrrrrrgrr 2 \n", + "169 grrrrrgrrgrrrrrgrG grrrrrgrrgrrrrrgGr 3 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
704551099011722384155574371075871722384007116263GGrrrrGG77GGGGrGGGGr0
714551099011722384156584371075871722384007225128GGGGrGGGGG16
594371075871722384007338346GGGGrGGGGr263GGrrrrGG
724571062341722384232604371075871722384007447449GGGGrGGGGr3
614371075871722384700116245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr71GGGGrGGGGr0
734571062341722384232624371075871722384700225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr28GGGGrGGGGG1
74457106234172238423263437107587172238470033171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr
7543610983617223842361158358GGGGrGGGGr250grrrrgrrgrGgrrgrrrrgrrgGrgrr
764361098361722384236228644371075871722384700447443GGGGrGGGGr385grrrrgGrgrrgrrgrrrrgrGgrrgrr
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "57 437 107587 1722384007 1 1 6 2 77 \n", + "58 437 107587 1722384007 2 2 5 1 28 \n", + "59 437 107587 1722384007 3 3 8 3 46 \n", + "60 437 107587 1722384007 4 4 7 4 49 \n", + "61 437 107587 1722384700 1 1 6 2 71 \n", + "62 437 107587 1722384700 2 2 5 1 28 \n", + "63 437 107587 1722384700 3 3 8 3 58 \n", + "64 437 107587 1722384700 4 4 7 4 43 \n", + "\n", + " state_A state_B phase_sumo \n", + "57 GGGGr GGGGr 0 \n", + "58 GGGGr GGGGG 1 \n", + "59 GGGGr GGGGr 2 \n", + "60 GGGGr GGGGr 3 \n", + "61 GGGGr GGGGr 0 \n", + "62 GGGGr GGGGG 1 \n", + "63 GGGGr GGGGr 2 \n", + "64 GGGGr GGGGr 3 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
777445610623117223842371092951722383968115215grgrrrrGgrgrrGGrGGGGGGGGGGGGGGrr0
787545610623117223842371092951722383968226228grgGGrrrgrgrrGGrGGGGGGrrGGGGGGrr1
797645610623117223842371092951722383968337712gGgrrrrrgGgrrrrrGGGGGGrrGGGGGGrr2
80774561062311722384237109295172238396844171735grgrrrrrgrgrrrrr
814551099011722384246116263GGrrrrGG
824421063321722384297116135gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrrGGGGGGrrGGGGGGrr3
83443108769172238430278456109295172238405711652125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr15GGGGGGGGGGGGGGrr0
8444310876917223843027945610929517223840572256225grrrrrrrrrrGgrrgrrrrrGGGGGrgrr28GGGGGGrrGGGGGGrr1
8544310876917223843028045610929517223840573371850grrrrrrrrrrrgGGgrrrrrrrrrrrgrr712GGGGGGrrGGGGGGrr2
86814561062311722384327109295172238405744171735GGGGGGrrGGGGGGrr3
824561092951722384058115215grgrrrrGgrgrrGGrGGGGGGGGGGGGGGrr0
878345610623117223843271092951722384058226228grgGGrrrgrgrrGGrGGGGGGrrGGGGGGrr1
888445610623117223843271092951722384058337712gGgrrrrrgGgrrrrrGGGGGGrrGGGGGGrr2
89854561062311722384327109295172238405844171735grgrrrrrgrgrrrrrGGGGGGrrGGGGGGrr3
9045510990117223843368645610929517223841471165263GGrrrrGG15GGGGGGGGGGGGGGrr0
914571062341722384412874561092951722384147115215GGGGGGGGGGGGGGrr1
884561092951722384147226245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr28GGGGGGrrGGGGGGrr2
924571062341722384412894561092951722384147225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr6228GGGGGGrrGGGGGGrr3
93457106234172238441290456109295172238414733171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr7712GGGGGGrrGGGGGGrr4
944571062341722384412914561092951722384147337712GGGGGGrrGGGGGGrr5
924561092951722384147448340grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr171735GGGGGGrrGGGGGGrr6
95457106234172238441255793456109295172238414744171735grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGrGGGGGGrrGGGGGGrr7
969445610623117223844171092951722384237115215grgrrrrGgrgrrGGrGGGGGGGGGGGGGGrr0
979545610623117223844171092951722384237226228grgGGrrrgrgrrGGrGGGGGGrrGGGGGGrr1
989645610623117223844171092951722384237337712gGgrrrrrgGgrrrrrGGGGGGrrGGGGGGrr2
99974561062311722384417109295172238423744171735grgrrrrrgrgrrrrrGGGGGGrrGGGGGGrr3
1004551099011722384426116263GGrrrrGG
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "74 456 109295 1722383968 1 1 5 2 15 \n", + "75 456 109295 1722383968 2 2 6 2 28 \n", + "76 456 109295 1722383968 3 3 7 7 12 \n", + "77 456 109295 1722383968 4 4 17 17 35 \n", + "78 456 109295 1722384057 1 1 5 2 15 \n", + "79 456 109295 1722384057 2 2 6 2 28 \n", + "80 456 109295 1722384057 3 3 7 7 12 \n", + "81 456 109295 1722384057 4 4 17 17 35 \n", + "82 456 109295 1722384058 1 1 5 2 15 \n", + "83 456 109295 1722384058 2 2 6 2 28 \n", + "84 456 109295 1722384058 3 3 7 7 12 \n", + "85 456 109295 1722384058 4 4 17 17 35 \n", + "86 456 109295 1722384147 1 1 5 2 15 \n", + "87 456 109295 1722384147 1 1 5 2 15 \n", + "88 456 109295 1722384147 2 2 6 2 28 \n", + "89 456 109295 1722384147 2 2 6 2 28 \n", + "90 456 109295 1722384147 3 3 7 7 12 \n", + "91 456 109295 1722384147 3 3 7 7 12 \n", + "92 456 109295 1722384147 4 4 17 17 35 \n", + "93 456 109295 1722384147 4 4 17 17 35 \n", + "94 456 109295 1722384237 1 1 5 2 15 \n", + "95 456 109295 1722384237 2 2 6 2 28 \n", + "96 456 109295 1722384237 3 3 7 7 12 \n", + "97 456 109295 1722384237 4 4 17 17 35 \n", + "\n", + " state_A state_B phase_sumo \n", + "74 GGGGGGGG GGGGGGrr 0 \n", + "75 GGGGGGrr GGGGGGrr 1 \n", + "76 GGGGGGrr GGGGGGrr 2 \n", + "77 GGGGGGrr GGGGGGrr 3 \n", + "78 GGGGGGGG GGGGGGrr 0 \n", + "79 GGGGGGrr GGGGGGrr 1 \n", + "80 GGGGGGrr GGGGGGrr 2 \n", + "81 GGGGGGrr GGGGGGrr 3 \n", + "82 GGGGGGGG GGGGGGrr 0 \n", + "83 GGGGGGrr GGGGGGrr 1 \n", + "84 GGGGGGrr GGGGGGrr 2 \n", + "85 GGGGGGrr GGGGGGrr 3 \n", + "86 GGGGGGGG GGGGGGrr 0 \n", + "87 GGGGGGGG GGGGGGrr 1 \n", + "88 GGGGGGrr GGGGGGrr 2 \n", + "89 GGGGGGrr GGGGGGrr 3 \n", + "90 GGGGGGrr GGGGGGrr 4 \n", + "91 GGGGGGrr GGGGGGrr 5 \n", + "92 GGGGGGrr GGGGGGrr 6 \n", + "93 GGGGGGrr GGGGGGrr 7 \n", + "94 GGGGGGGG GGGGGGrr 0 \n", + "95 GGGGGGrr GGGGGGrr 1 \n", + "96 GGGGGGrr GGGGGGrr 2 \n", + "97 GGGGGGrr GGGGGGrr 3 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
10143610983617223844369845710929617223838731156250grrrrgrrgrGgrrgrrrrgrrgGrgrr45GGGrrGGGGGGrrGGG0
1024361098361722384436994571092961722383873228385grrrrgGrgrrgrrgrrrrgrGgrrgrr
1034361098361722384436337435grrrrgrrgrrgrGgrrrrgrrgrrgGr
1044361098361722384436446130gGGGrgrrgrrgrrgrrrGgrrgrrgrr
1054421063321722384497151620GGGrrGGGGGGGGGGG135gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr
1064421063321722384497226227gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr
10744210633217223844971004571092961722383873335171740GGGrrGGGGGGrrGGG230grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr
10844210633217223844974101457109296172238387347447grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr
1094421063321722384497558345grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr35GGGrrGGGGGGrrGGG3
1104421063321722384497668316grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr1024571092961722383873557440GGGrrGGGGGGrrGGG4
111443108769172238450210345710929617223840521162125gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr45GGGrrGGGGGGrrGGG0
11244310876917223845021044571092961722384052225120GGGrrGGGGGGGGGGG1
105457109296172238405233171740GGGrrGGGGGGrrGGG225grrrrrrrrrrGgrrgrrrrrGGGGGrgrr
11344310876917223845021064571092961722384052448340GGGrrGGGGGGrrGGG3
10745710929617223840525571850grrrrrrrrrrrgGGgrrrrrrrrrrrgrr435GGGrrGGGGGGrrGGG4
114456106231172238450710845710929617223842321156215grgrrrrGgrgrrGGr45GGGrrGGGGGGrrGGG0
11545610623117223845072109457109296172238423226228grgGGrrrgrgrrGGr5120GGGrrGGGGGGGGGGG1
11645610623117223845071104571092961722384232337712gGgrrrrrgGgrrrrr171740GGGrrGGGGGGrrGGG2
1174561062311722384507111457109296172238423244171735grgrrrrrgrgrrrrr8340GGGrrGGGGGGrrGGG3
1184551099011722384516116263GGrrrrGG1124571092961722384232557435GGGrrGGGGGGrrGGG4
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "98 457 109296 1722383873 1 1 6 2 45 \n", + "99 457 109296 1722383873 2 2 5 1 20 \n", + "100 457 109296 1722383873 3 3 17 17 40 \n", + "101 457 109296 1722383873 4 4 8 3 35 \n", + "102 457 109296 1722383873 5 5 7 4 40 \n", + "103 457 109296 1722384052 1 1 6 2 45 \n", + "104 457 109296 1722384052 2 2 5 1 20 \n", + "105 457 109296 1722384052 3 3 17 17 40 \n", + "106 457 109296 1722384052 4 4 8 3 40 \n", + "107 457 109296 1722384052 5 5 7 4 35 \n", + "108 457 109296 1722384232 1 1 6 2 45 \n", + "109 457 109296 1722384232 2 2 5 1 20 \n", + "110 457 109296 1722384232 3 3 17 17 40 \n", + "111 457 109296 1722384232 4 4 8 3 40 \n", + "112 457 109296 1722384232 5 5 7 4 35 \n", + "\n", + " state_A state_B phase_sumo \n", + "98 GGGrrGGG GGGrrGGG 0 \n", + "99 GGGrrGGG GGGGGGGG 1 \n", + "100 GGGrrGGG GGGrrGGG 2 \n", + "101 GGGrrGGG GGGrrGGG 3 \n", + "102 GGGrrGGG GGGrrGGG 4 \n", + "103 GGGrrGGG GGGrrGGG 0 \n", + "104 GGGrrGGG GGGGGGGG 1 \n", + "105 GGGrrGGG GGGrrGGG 2 \n", + "106 GGGrrGGG GGGrrGGG 3 \n", + "107 GGGrrGGG GGGrrGGG 4 \n", + "108 GGGrrGGG GGGrrGGG 0 \n", + "109 GGGrrGGG GGGGGGGG 1 \n", + "110 GGGrrGGG GGGrrGGG 2 \n", + "111 GGGrrGGG GGGrrGGG 3 \n", + "112 GGGrrGGG GGGrrGGG 4 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
11911345710623417223845921092971722383873116245gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrrGGGGGGrrGGGGGGrr0
12011445710623417223845921092971722383873225120grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrrGGGGGGGGGGGGGGrr1
1211154571062341722384592109297172238387333171740grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrrGGGGGGrrGGGGGGrr2
12211645710623417223845921092971722383873448340grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr35GGGGGGrrGGGGGGrr3
12311745710623417223845921092971722383873557435grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr40GGGGGGrrGGGGGGrr4
124456106231172238459711845710929717223840521156215grgrrrrGgrgrrGGr45GGGGGGrrGGGGGGrr0
12545610623117223845972119457109297172238405226228grgGGrrrgrgrrGGr5120GGGGGGGGGGGGGGrr1
12645610623117223845971204571092971722384052337712gGgrrrrrgGgrrrrr171740GGGGGGrrGGGGGGrr2
127456106231172238459712145710929717223840524417178340GGGGGGrrGGGGGGrr3
1224571092971722384052557435grgrrrrrgrgrrrrrGGGGGGrrGGGGGGrr4
12845510990117223846061234571092971722384232116263GGrrrrGG45GGGGGGrrGGGGGGrr0
12943610983617223846361244571092971722384232225120GGGGGGGGGGGGGGrr15250grrrrgrrgrGgrrgrrrrgrrgGrgrr
13043610983617223846362281254571092971722384232385grrrrgGrgrrgrrgrrrrgrGgrrgrr3171740GGGGGGrrGGGGGGrr2
13143610983617223846361264571092971722384232448340GGGGGGrrGGGGGGrr37435grrrrgrrgrrgrGgrrrrgrrgrrgGr
13243610983617223846361274571092971722384232557435GGGGGGrrGGGGGGrr46130gGGGrgrrgrrgrrgrrrGgrrgrrgrr
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "113 457 109297 1722383873 1 1 6 2 45 \n", + "114 457 109297 1722383873 2 2 5 1 20 \n", + "115 457 109297 1722383873 3 3 17 17 40 \n", + "116 457 109297 1722383873 4 4 8 3 35 \n", + "117 457 109297 1722383873 5 5 7 4 40 \n", + "118 457 109297 1722384052 1 1 6 2 45 \n", + "119 457 109297 1722384052 2 2 5 1 20 \n", + "120 457 109297 1722384052 3 3 17 17 40 \n", + "121 457 109297 1722384052 4 4 8 3 40 \n", + "122 457 109297 1722384052 5 5 7 4 35 \n", + "123 457 109297 1722384232 1 1 6 2 45 \n", + "124 457 109297 1722384232 2 2 5 1 20 \n", + "125 457 109297 1722384232 3 3 17 17 40 \n", + "126 457 109297 1722384232 4 4 8 3 40 \n", + "127 457 109297 1722384232 5 5 7 4 35 \n", + "\n", + " state_A state_B phase_sumo \n", + "113 GGGGGGrr GGGGGGrr 0 \n", + "114 GGGGGGGG GGGGGGrr 1 \n", + "115 GGGGGGrr GGGGGGrr 2 \n", + "116 GGGGGGrr GGGGGGrr 3 \n", + "117 GGGGGGrr GGGGGGrr 4 \n", + "118 GGGGGGrr GGGGGGrr 0 \n", + "119 GGGGGGGG GGGGGGrr 1 \n", + "120 GGGGGGrr GGGGGGrr 2 \n", + "121 GGGGGGrr GGGGGGrr 3 \n", + "122 GGGGGGrr GGGGGGrr 4 \n", + "123 GGGGGGrr GGGGGGrr 0 \n", + "124 GGGGGGGG GGGGGGrr 1 \n", + "125 GGGGGGrr GGGGGGrr 2 \n", + "126 GGGGGGrr GGGGGGrr 3 \n", + "127 GGGGGGrr GGGGGGrr 4 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
133456106231172238468712843710931317223840071156215grgrrrrGgrgrrGGr77GGGGGGGGrGGGGGGGGr0
1344561062311722384687212943710931317223840072625128grgGGrrrgrgrrGGrGGGGGGGGGGGGGGGGGr1
13545610623117223846871304371093131722384007337712gGgrrrrrgGgrrrrr8346GGGGGGGGrGGGGGGGGr2
1364561062311722384687131437109313172238400744171735grgrrrrrgrgrrrrr7449GGGGGGGGrGGGGGGGGr3
13745510990117223846961324371093131722384700116263GGrrrrGG
1384421063321722384697116135gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrGGrrrgrrgrrrrrrrrgrrrr71GGGGGGGGrGGGGGGGGr0
13944210633217223846972133437109313172238470026227gGGGrrrrrrgrrgrrrrrrrrgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr5128GGGGGGGGGGGGGGGGGr1
140442106332172238469713443710931317223847003358358GGGGGGGGrGGGGGGGGr230grrrrrrrrrgrrgrrrrrrGGgrrrrgrrrrrrrrrgrrgrGGGGGrrgrrrr
14144210633217223846971354371093131722384700447447grrrrrrrrrgrrgrrrrrrrrgrrrGgrrrrrrrrrgrrgrrrrrrrrgGGGr
142442106332172238469755843GGGGGGGGrGGGGGGGGr345grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr
1434421063321722384697668316grrrrrrGGrgrrgrrrrrrrrgrrrrgrrrrrrrrGgrrgrrrrrrrrgrrrr
\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", + "128 437 109313 1722384007 1 1 6 2 77 \n", + "129 437 109313 1722384007 2 2 5 1 28 \n", + "130 437 109313 1722384007 3 3 8 3 46 \n", + "131 437 109313 1722384007 4 4 7 4 49 \n", + "132 437 109313 1722384700 1 1 6 2 71 \n", + "133 437 109313 1722384700 2 2 5 1 28 \n", + "134 437 109313 1722384700 3 3 8 3 58 \n", + "135 437 109313 1722384700 4 4 7 4 43 \n", + "\n", + " state_A state_B phase_sumo \n", + "128 GGGGGGGGr GGGGGGGGr 0 \n", + "129 GGGGGGGGG GGGGGGGGr 1 \n", + "130 GGGGGGGGr GGGGGGGGr 2 \n", + "131 GGGGGGGGr GGGGGGGGr 3 \n", + "132 GGGGGGGGr GGGGGGGGr 0 \n", + "133 GGGGGGGGG GGGGGGGGr 1 \n", + "134 GGGGGGGGr GGGGGGGGr 2 \n", + "135 GGGGGGGGr GGGGGGGGr 3 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
inter_nonode_idstart_unixphas_Aphas_Bmove_Amove_Bdurationstate_Astate_Bphase_sumo
14445710623417223847001364431093331722383902116227gGGGrgrrrrgrrrrgrrrgrrrrgrrrrgGGGrgrrr125GGGGGGGGGGGrGGGGGGGGGGGr0
14545710623417223847001374431093331722383902225225GGGGGGGGGGGGGGGGGGGGGGGr112grrrrgrrrrgrrrGgrrrgrrrGgrrrrgrrrrgrrr
1464571062341722384700313844310933317223839023171724grrrrgrrrrgrrrrgrrrgrrrrgrrrrgrrrrgrrr
1474571062341722384700448324grrrrgGGrrgrrrrgrrrgrrrrgrrGGgrrrrgrrr
1484571062341722384700557421grrrrgrrrrgrrrrgrrGgrrrrgrrrrgrrrrgGGr1850GGGGGGGGGGGrGGGGGGGGGGGr2
149139443108769172238470010933317223841021162124gGGGGGrrrrrrgrrgrrrrrGGGGGrgrr125GGGGGGGGGGGrGGGGGGGGGGGr0
15014044310876917223847001093331722384102225225grrrrrrrrrrGgrrgrrrrrGGGGGrgrrGGGGGGGGGGGGGGGGGGGGGGGr1
151141443108769172238470010933317223841023371849grrrrrrrrrrrgGGgrrrrrrrrrrrgrr50GGGGGGGGGGGrGGGGGGGGGGGr2
15243710998617223847001424431093331722384302116271gGGGGrgrrgrrrrrgrrgrrrrrgrrgGGGGrgrr125GGGGGGGGGGGrGGGGGGGGGGGr0
15343710998617223847001434431093331722384302225225GGGGGGGGGGGGGGGGGGGGGGGr128grrrrrgrrgrrrrGgrrgrrrrGgrrgrrrrrgrr
15443710998617223847003144443109333172238430238358grrrrrgGrgrrrrrgrrgrrrrrgrGgrrrrrgrr
1554371099861722384700447443grrrrrgrrgrrrrrgrGgrrrrrgrrgrrrrrgGr1850GGGGGGGGGGGrGGGGGGGGGGGr2
\n", @@ -2346,320 +5823,26 @@ ], "text/plain": [ " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", - "0 457 106234 1722383873 1 1 6 2 45 \n", - "1 457 106234 1722383873 2 2 5 1 20 \n", - "2 457 106234 1722383873 3 3 17 17 40 \n", - "3 457 106234 1722383873 4 4 8 3 35 \n", - "4 457 106234 1722383873 5 5 7 4 40 \n", - "5 456 106231 1722383877 1 1 5 2 15 \n", - "6 456 106231 1722383877 2 2 6 2 28 \n", - "7 456 106231 1722383877 3 3 7 7 12 \n", - "8 456 106231 1722383877 4 4 17 17 35 \n", - "9 455 109901 1722383886 1 1 6 2 63 \n", - "10 442 106332 1722383898 1 1 6 1 31 \n", - "11 442 106332 1722383898 2 2 6 2 27 \n", - "12 442 106332 1722383898 3 3 5 2 32 \n", - "13 442 106332 1722383898 4 4 7 4 49 \n", - "14 442 106332 1722383898 5 5 8 3 45 \n", - "15 442 106332 1722383898 6 6 8 3 16 \n", - "16 443 108769 1722383902 1 1 6 2 125 \n", - "17 443 108769 1722383902 2 2 5 2 25 \n", - "18 443 108769 1722383902 3 3 7 18 50 \n", - "19 456 106231 1722383967 1 1 5 2 15 \n", - "20 456 106231 1722383967 2 2 6 2 28 \n", - "21 456 106231 1722383967 3 3 7 -1 12 \n", - "22 456 106231 1722383967 4 4 17 -1 35 \n", - "23 456 106231 1722383968 1 1 5 2 15 \n", - "24 456 106231 1722383968 2 2 6 2 28 \n", - "25 456 106231 1722383968 3 3 7 7 12 \n", - "26 456 106231 1722383968 4 4 17 17 35 \n", - "27 455 109901 1722383975 1 1 6 2 63 \n", - "28 455 109901 1722383976 1 1 6 2 63 \n", - "29 455 109901 1722383976 2 2 -1 -1 27 \n", - "30 437 109986 1722384007 1 1 6 2 77 \n", - "31 437 109986 1722384007 2 2 5 1 28 \n", - "32 437 109986 1722384007 3 3 8 3 46 \n", - "33 437 109986 1722384007 4 4 7 4 49 \n", - "34 436 109836 1722384036 1 1 5 2 50 \n", - "35 436 109836 1722384036 2 2 8 3 85 \n", - "36 436 109836 1722384036 3 3 7 4 35 \n", - "37 436 109836 1722384036 4 4 6 1 30 \n", - "38 457 106234 1722384052 1 1 6 2 45 \n", - "39 457 106234 1722384052 2 2 5 1 20 \n", - "40 457 106234 1722384052 3 3 17 17 40 \n", - "41 457 106234 1722384052 4 4 8 3 40 \n", - "42 457 106234 1722384052 5 5 7 4 35 \n", - "43 456 106231 1722384057 1 1 5 2 15 \n", - "44 456 106231 1722384057 2 2 6 2 28 \n", - "45 456 106231 1722384057 3 3 7 7 12 \n", - "46 456 106231 1722384057 4 4 17 17 35 \n", - "47 456 106231 1722384058 1 1 5 2 15 \n", - "48 456 106231 1722384058 2 2 6 2 28 \n", - "49 456 106231 1722384058 3 3 7 7 12 \n", - "50 456 106231 1722384058 4 4 17 17 35 \n", - "51 455 109901 1722384066 1 1 6 2 63 \n", - "52 455 109901 1722384067 1 1 6 2 63 \n", - "53 442 106332 1722384097 1 1 6 1 35 \n", - "54 442 106332 1722384097 2 2 6 2 27 \n", - "55 442 106332 1722384097 3 3 5 2 30 \n", - "56 442 106332 1722384097 4 4 7 4 47 \n", - "57 442 106332 1722384097 5 5 8 3 45 \n", - "58 442 106332 1722384097 6 6 8 3 16 \n", - "59 443 108769 1722384102 1 1 6 2 125 \n", - "60 443 108769 1722384102 2 2 5 2 25 \n", - "61 443 108769 1722384102 3 3 7 18 50 \n", - "62 456 106231 1722384147 1 1 5 2 15 \n", - "63 456 106231 1722384147 1 1 5 2 15 \n", - "64 456 106231 1722384147 2 2 6 2 28 \n", - "65 456 106231 1722384147 2 2 6 2 28 \n", - "66 456 106231 1722384147 3 3 7 7 12 \n", - "67 456 106231 1722384147 3 3 7 7 12 \n", - "68 456 106231 1722384147 4 4 17 17 35 \n", - "69 456 106231 1722384147 4 4 17 17 35 \n", - "70 455 109901 1722384155 1 1 6 2 63 \n", - "71 455 109901 1722384156 1 1 6 2 63 \n", - "72 457 106234 1722384232 1 1 6 2 45 \n", - "73 457 106234 1722384232 2 2 5 1 20 \n", - "74 457 106234 1722384232 3 3 17 17 40 \n", - "75 436 109836 1722384236 1 1 5 2 50 \n", - "76 436 109836 1722384236 2 2 8 3 85 \n", - "77 456 106231 1722384237 1 1 5 2 15 \n", - "78 456 106231 1722384237 2 2 6 2 28 \n", - "79 456 106231 1722384237 3 3 7 7 12 \n", - "80 456 106231 1722384237 4 4 17 17 35 \n", - "81 455 109901 1722384246 1 1 6 2 63 \n", - "82 442 106332 1722384297 1 1 6 1 35 \n", - "83 443 108769 1722384302 1 1 6 2 125 \n", - "84 443 108769 1722384302 2 2 5 2 25 \n", - "85 443 108769 1722384302 3 3 7 18 50 \n", - "86 456 106231 1722384327 1 1 5 2 15 \n", - "87 456 106231 1722384327 2 2 6 2 28 \n", - "88 456 106231 1722384327 3 3 7 7 12 \n", - "89 456 106231 1722384327 4 4 17 17 35 \n", - "90 455 109901 1722384336 1 1 6 2 63 \n", - "91 457 106234 1722384412 1 1 6 2 45 \n", - "92 457 106234 1722384412 2 2 5 1 20 \n", - "93 457 106234 1722384412 3 3 17 17 40 \n", - "94 457 106234 1722384412 4 4 8 3 40 \n", - "95 457 106234 1722384412 5 5 7 4 35 \n", - "96 456 106231 1722384417 1 1 5 2 15 \n", - "97 456 106231 1722384417 2 2 6 2 28 \n", - "98 456 106231 1722384417 3 3 7 7 12 \n", - "99 456 106231 1722384417 4 4 17 17 35 \n", - "100 455 109901 1722384426 1 1 6 2 63 \n", - "101 436 109836 1722384436 1 1 5 2 50 \n", - "102 436 109836 1722384436 2 2 8 3 85 \n", - "103 436 109836 1722384436 3 3 7 4 35 \n", - "104 436 109836 1722384436 4 4 6 1 30 \n", - "105 442 106332 1722384497 1 1 6 1 35 \n", - "106 442 106332 1722384497 2 2 6 2 27 \n", - "107 442 106332 1722384497 3 3 5 2 30 \n", - "108 442 106332 1722384497 4 4 7 4 47 \n", - "109 442 106332 1722384497 5 5 8 3 45 \n", - "110 442 106332 1722384497 6 6 8 3 16 \n", - "111 443 108769 1722384502 1 1 6 2 125 \n", - "112 443 108769 1722384502 2 2 5 2 25 \n", - "113 443 108769 1722384502 3 3 7 18 50 \n", - "114 456 106231 1722384507 1 1 5 2 15 \n", - "115 456 106231 1722384507 2 2 6 2 28 \n", - "116 456 106231 1722384507 3 3 7 7 12 \n", - "117 456 106231 1722384507 4 4 17 17 35 \n", - "118 455 109901 1722384516 1 1 6 2 63 \n", - "119 457 106234 1722384592 1 1 6 2 45 \n", - "120 457 106234 1722384592 2 2 5 1 20 \n", - "121 457 106234 1722384592 3 3 17 17 40 \n", - "122 457 106234 1722384592 4 4 8 3 40 \n", - "123 457 106234 1722384592 5 5 7 4 35 \n", - "124 456 106231 1722384597 1 1 5 2 15 \n", - "125 456 106231 1722384597 2 2 6 2 28 \n", - "126 456 106231 1722384597 3 3 7 7 12 \n", - "127 456 106231 1722384597 4 4 17 17 35 \n", - "128 455 109901 1722384606 1 1 6 2 63 \n", - "129 436 109836 1722384636 1 1 5 2 50 \n", - "130 436 109836 1722384636 2 2 8 3 85 \n", - "131 436 109836 1722384636 3 3 7 4 35 \n", - "132 436 109836 1722384636 4 4 6 1 30 \n", - "133 456 106231 1722384687 1 1 5 2 15 \n", - "134 456 106231 1722384687 2 2 6 2 28 \n", - "135 456 106231 1722384687 3 3 7 7 12 \n", - "136 456 106231 1722384687 4 4 17 17 35 \n", - "137 455 109901 1722384696 1 1 6 2 63 \n", - "138 442 106332 1722384697 1 1 6 1 35 \n", - "139 442 106332 1722384697 2 2 6 2 27 \n", - "140 442 106332 1722384697 3 3 5 2 30 \n", - "141 442 106332 1722384697 4 4 7 4 47 \n", - "142 442 106332 1722384697 5 5 8 3 45 \n", - "143 442 106332 1722384697 6 6 8 3 16 \n", - "144 457 106234 1722384700 1 1 6 2 27 \n", - "145 457 106234 1722384700 2 2 5 1 12 \n", - "146 457 106234 1722384700 3 3 17 17 24 \n", - "147 457 106234 1722384700 4 4 8 3 24 \n", - "148 457 106234 1722384700 5 5 7 4 21 \n", - "149 443 108769 1722384700 1 1 6 2 124 \n", - "150 443 108769 1722384700 2 2 5 2 25 \n", - "151 443 108769 1722384700 3 3 7 18 49 \n", - "152 437 109986 1722384700 1 1 6 2 71 \n", - "153 437 109986 1722384700 2 2 5 1 28 \n", - "154 437 109986 1722384700 3 3 8 3 58 \n", - "155 437 109986 1722384700 4 4 7 4 43 \n", - "\n", - " state_A state_B \n", - "0 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr \n", - "1 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr \n", - "2 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr \n", - "3 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr \n", - "4 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr \n", - "5 grgrrrrG grgrrGGr \n", - "6 grgGGrrr grgrrGGr \n", - "7 gGgrrrrr gGgrrrrr \n", - "8 grgrrrrr grgrrrrr \n", - "9 GGrr rrGG \n", - "10 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr \n", - "11 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr \n", - "12 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr \n", - "13 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr \n", - "14 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr \n", - "15 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr \n", - "16 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr \n", - "17 grrrrrrrrrrGgrr grrrrrGGGGGrgrr \n", - "18 grrrrrrrrrrrgGG grrrrrrrrrrrgrr \n", - "19 grgrrrrG grgrrGGr \n", - "20 grgGGrrr grgrrGGr \n", - "21 gGgrrrrr grgrrrrr \n", - "22 grgrrrrr grgrrrrr \n", - "23 grgrrrrG grgrrGGr \n", - "24 grgGGrrr grgrrGGr \n", - "25 gGgrrrrr gGgrrrrr \n", - "26 grgrrrrr grgrrrrr \n", - "27 GGrr rrGG \n", - "28 GGrr rrGG \n", - "29 rrrr rrrr \n", - "30 gGGGGrgrrgrrrrrgrr grrrrrgrrgGGGGrgrr \n", - "31 grrrrrgrrgrrrrGgrr grrrrGgrrgrrrrrgrr \n", - "32 grrrrrgGrgrrrrrgrr grrrrrgrGgrrrrrgrr \n", - "33 grrrrrgrrgrrrrrgrG grrrrrgrrgrrrrrgGr \n", - "34 grrrrgrrgrGgrr grrrrgrrgGrgrr \n", - "35 grrrrgGrgrrgrr grrrrgrGgrrgrr \n", - "36 grrrrgrrgrrgrG grrrrgrrgrrgGr \n", - "37 gGGGrgrrgrrgrr grrrGgrrgrrgrr \n", - "38 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr \n", - "39 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr \n", - "40 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr \n", - "41 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr \n", - "42 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr \n", - "43 grgrrrrG grgrrGGr \n", - "44 grgGGrrr grgrrGGr \n", - "45 gGgrrrrr gGgrrrrr \n", - "46 grgrrrrr grgrrrrr \n", - "47 grgrrrrG grgrrGGr \n", - "48 grgGGrrr grgrrGGr \n", - "49 gGgrrrrr gGgrrrrr \n", - "50 grgrrrrr grgrrrrr \n", - "51 GGrr rrGG \n", - "52 GGrr rrGG \n", - "53 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr \n", - "54 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr \n", - "55 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr \n", - "56 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr \n", - "57 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr \n", - "58 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr \n", - "59 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr \n", - "60 grrrrrrrrrrGgrr grrrrrGGGGGrgrr \n", - "61 grrrrrrrrrrrgGG grrrrrrrrrrrgrr \n", - "62 grgrrrrG grgrrGGr \n", - "63 grgrrrrG grgrrGGr \n", - "64 grgGGrrr grgrrGGr \n", - "65 grgGGrrr grgrrGGr \n", - "66 gGgrrrrr gGgrrrrr \n", - "67 gGgrrrrr gGgrrrrr \n", - "68 grgrrrrr grgrrrrr \n", - "69 grgrrrrr grgrrrrr \n", - "70 GGrr rrGG \n", - "71 GGrr rrGG \n", - "72 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr \n", - "73 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr \n", - "74 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr \n", - "75 grrrrgrrgrGgrr grrrrgrrgGrgrr \n", - "76 grrrrgGrgrrgrr grrrrgrGgrrgrr \n", - "77 grgrrrrG grgrrGGr \n", - "78 grgGGrrr grgrrGGr \n", - "79 gGgrrrrr gGgrrrrr \n", - "80 grgrrrrr grgrrrrr \n", - "81 GGrr rrGG \n", - "82 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr \n", - "83 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr \n", - "84 grrrrrrrrrrGgrr grrrrrGGGGGrgrr \n", - "85 grrrrrrrrrrrgGG grrrrrrrrrrrgrr \n", - "86 grgrrrrG grgrrGGr \n", - "87 grgGGrrr grgrrGGr \n", - "88 gGgrrrrr gGgrrrrr \n", - "89 grgrrrrr grgrrrrr \n", - "90 GGrr rrGG \n", - "91 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr \n", - "92 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr \n", - "93 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr \n", - "94 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr \n", - "95 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr \n", - "96 grgrrrrG grgrrGGr \n", - "97 grgGGrrr grgrrGGr \n", - "98 gGgrrrrr gGgrrrrr \n", - "99 grgrrrrr grgrrrrr \n", - "100 GGrr rrGG \n", - "101 grrrrgrrgrGgrr grrrrgrrgGrgrr \n", - "102 grrrrgGrgrrgrr grrrrgrGgrrgrr \n", - "103 grrrrgrrgrrgrG grrrrgrrgrrgGr \n", - "104 gGGGrgrrgrrgrr grrrGgrrgrrgrr \n", - "105 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr \n", - "106 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr \n", - "107 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr \n", - "108 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr \n", - "109 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr \n", - "110 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr \n", - "111 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr \n", - "112 grrrrrrrrrrGgrr grrrrrGGGGGrgrr \n", - "113 grrrrrrrrrrrgGG grrrrrrrrrrrgrr \n", - "114 grgrrrrG grgrrGGr \n", - "115 grgGGrrr grgrrGGr \n", - "116 gGgrrrrr gGgrrrrr \n", - "117 grgrrrrr grgrrrrr \n", - "118 GGrr rrGG \n", - "119 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr \n", - "120 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr \n", - "121 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr \n", - "122 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr \n", - "123 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr \n", - "124 grgrrrrG grgrrGGr \n", - "125 grgGGrrr grgrrGGr \n", - "126 gGgrrrrr gGgrrrrr \n", - "127 grgrrrrr grgrrrrr \n", - "128 GGrr rrGG \n", - "129 grrrrgrrgrGgrr grrrrgrrgGrgrr \n", - "130 grrrrgGrgrrgrr grrrrgrGgrrgrr \n", - "131 grrrrgrrgrrgrG grrrrgrrgrrgGr \n", - "132 gGGGrgrrgrrgrr grrrGgrrgrrgrr \n", - "133 grgrrrrG grgrrGGr \n", - "134 grgGGrrr grgrrGGr \n", - "135 gGgrrrrr gGgrrrrr \n", - "136 grgrrrrr grgrrrrr \n", - "137 GGrr rrGG \n", - "138 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrGGrrrgrrgrrrrrrrrgrrrr \n", - "139 gGGGrrrrrrgrrgrrrrrrrrgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr \n", - "140 grrrrrrrrrgrrgrrrrrrGGgrrrr grrrrrrrrrgrrgrGGGGGrrgrrrr \n", - "141 grrrrrrrrrgrrgrrrrrrrrgrrrG grrrrrrrrrgrrgrrrrrrrrgGGGr \n", - "142 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr \n", - "143 grrrrrrGGrgrrgrrrrrrrrgrrrr grrrrrrrrGgrrgrrrrrrrrgrrrr \n", - "144 gGGGrgrrrrgrrrrgrrr grrrrgrrrrgGGGrgrrr \n", - "145 grrrrgrrrrgrrrGgrrr grrrGgrrrrgrrrrgrrr \n", - "146 grrrrgrrrrgrrrrgrrr grrrrgrrrrgrrrrgrrr \n", - "147 grrrrgGGrrgrrrrgrrr grrrrgrrGGgrrrrgrrr \n", - "148 grrrrgrrrrgrrrrgrrG grrrrgrrrrgrrrrgGGr \n", - "149 gGGGGGrrrrrrgrr grrrrrGGGGGrgrr \n", - "150 grrrrrrrrrrGgrr grrrrrGGGGGrgrr \n", - "151 grrrrrrrrrrrgGG grrrrrrrrrrrgrr \n", - "152 gGGGGrgrrgrrrrrgrr grrrrrgrrgGGGGrgrr \n", - "153 grrrrrgrrgrrrrGgrr grrrrGgrrgrrrrrgrr \n", - "154 grrrrrgGrgrrrrrgrr grrrrrgrGgrrrrrgrr \n", - "155 grrrrrgrrgrrrrrgrG grrrrrgrrgrrrrrgGr " + "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": {}, @@ -2667,104 +5850,51 @@ } ], "source": [ - "with pd.option_context('display.max_rows', None, 'display.max_columns', None):\n", - " display(self.histids)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# 5-1\n", - "self.set_timepoints()" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['106231',\n", - " '106234',\n", - " '106238',\n", - " '106332',\n", - " '106350',\n", - " '108769',\n", - " '109836',\n", - " '109901',\n", - " '109986']" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "self.node_ids" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['107587', '109295', '109296', '109297', '109313', '109333']" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "self.uturn_ids" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "9" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(self.parent_ids)" + "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": 19, + "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "c:\\github\\siggen\\scripts\\generate_signals.py:801: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\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:802: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\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:801: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\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:802: FutureWarning: DataFrame.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.\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" ] }, @@ -2775,8 +5905,8 @@ "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mKeyError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[19], 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:789\u001b[0m, in \u001b[0;36mSignalGenerator.assign_red_yellow\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 787\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 788\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--> 789\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 790\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 791\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 793\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", + "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.\"" ] diff --git a/configs/config_test_0731.json b/configs/config_test_0731.json index 1284a1b5e..a9b021315 100644 --- a/configs/config_test_0731.json +++ b/configs/config_test_0731.json @@ -9,5 +9,6 @@ "results":["test_0731", "results"], "tables":["test_0731", "data","tables"], "networks":["test_0731", "data", "networks"], + "network":["test_0731", "data", "networks", "new_sungnam_network_internal_target_0721.net.xml"], "scripts": ["scripts"]} } \ No newline at end of file diff --git a/test_0731/results/sn_1722384300.add.xml b/test_0731/results/sn_1722384300.add.xml new file mode 100644 index 000000000..3130f9cb6 --- /dev/null +++ b/test_0731/results/sn_1722384300.add.xml @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file