diff --git a/Scripts/__pycache__/generate_signals.cpython-312.pyc b/Scripts/__pycache__/generate_signals.cpython-312.pyc
index be7fc7a60..c1e4b41ab 100644
Binary files a/Scripts/__pycache__/generate_signals.cpython-312.pyc and b/Scripts/__pycache__/generate_signals.cpython-312.pyc differ
diff --git a/Scripts/__pycache__/preprocess_daily.cpython-312.pyc b/Scripts/__pycache__/preprocess_daily.cpython-312.pyc
index 5405eacb0..9d8021a63 100644
Binary files a/Scripts/__pycache__/preprocess_daily.cpython-312.pyc and b/Scripts/__pycache__/preprocess_daily.cpython-312.pyc differ
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",
- " inter_no | \n",
- " node_id | \n",
- " start_unix | \n",
- " phas_A | \n",
- " phas_B | \n",
- " move_A | \n",
- " move_B | \n",
- " duration | \n",
- " state_A | \n",
- " state_B | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722383873 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 2 | \n",
- " 45 | \n",
- " gGGGrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgGGGrgrrr | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722383873 | \n",
- " 2 | \n",
- " 2 | \n",
- " 5 | \n",
- " 1 | \n",
- " 20 | \n",
- " grrrrgrrrrgrrrGgrrr | \n",
- " grrrGgrrrrgrrrrgrrr | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722383873 | \n",
- " 3 | \n",
- " 3 | \n",
- " 17 | \n",
- " 17 | \n",
- " 40 | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722383873 | \n",
- " 4 | \n",
- " 4 | \n",
- " 8 | \n",
- " 3 | \n",
- " 35 | \n",
- " grrrrgGGrrgrrrrgrrr | \n",
- " grrrrgrrGGgrrrrgrrr | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722383873 | \n",
- " 5 | \n",
- " 5 | \n",
- " 7 | \n",
- " 4 | \n",
- " 40 | \n",
- " grrrrgrrrrgrrrrgrrG | \n",
- " grrrrgrrrrgrrrrgGGr | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383877 | \n",
- " 1 | \n",
- " 1 | \n",
- " 5 | \n",
- " 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383877 | \n",
- " 2 | \n",
- " 2 | \n",
- " 6 | \n",
- " 2 | \n",
- " 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383877 | \n",
- " 3 | \n",
- " 3 | \n",
- " 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383877 | \n",
- " 4 | \n",
- " 4 | \n",
- " 17 | \n",
- " 17 | \n",
- " 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 455 | \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",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " inter_no | \n",
+ " plan_no | \n",
+ " start_hour | \n",
+ " start_minute | \n",
+ " cycle | \n",
+ " offset | \n",
+ " dura_A1 | \n",
+ " dura_A2 | \n",
+ " dura_A3 | \n",
+ " dura_A4 | \n",
+ " ... | \n",
+ " yellow_A4 | \n",
+ " yellow_B4 | \n",
+ " red_A5 | \n",
+ " red_B5 | \n",
+ " yellow_A5 | \n",
+ " yellow_B5 | \n",
+ " red_A6 | \n",
+ " red_B6 | \n",
+ " yellow_A6 | \n",
+ " yellow_B6 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 19 | \n",
+ " 455 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 0 | \n",
+ " 90 | \n",
+ " 63 | \n",
+ " 63 | \n",
+ " 27 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " ... | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 157 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 158 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 159 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 160 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 161 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ " red_A | \n",
+ " red_B | \n",
+ " yellow_A | \n",
+ " yellow_B | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 157 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 158 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 159 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 160 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 161 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ " red_A | \n",
+ " red_B | \n",
+ " yellow_A | \n",
+ " yellow_B | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 157 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 158 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 159 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 160 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 161 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " start_unix | \n",
+ " phas_A | \n",
+ " duration | \n",
+ " state_A | \n",
+ " red_A | \n",
+ " yellow_A | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " start_unix | \n",
+ " phas_B | \n",
+ " duration | \n",
+ " state_B | \n",
+ " red_B | \n",
+ " yellow_B | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " start_time | \n",
+ " phas_A | \n",
+ " state_A | \n",
+ " start_unix | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 1g | \n",
+ " GGrr | \n",
+ " 1722383976 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 59 | \n",
+ " 1y | \n",
+ " GGrr | \n",
+ " 1722383976 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 63 | \n",
+ " 2r | \n",
+ " GGrr | \n",
+ " 1722384066 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 63 | \n",
+ " 2g | \n",
+ " GGrr | \n",
+ " 1722384066 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 122 | \n",
+ " 2y | \n",
+ " GGrr | \n",
+ " 1722384066 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 126 | \n",
+ " 1r | \n",
+ " GGrr | \n",
+ " 1722384067 | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 126 | \n",
+ " 1g | \n",
+ " GGrr | \n",
+ " 1722384067 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 185 | \n",
+ " 1y | \n",
+ " GGrr | \n",
+ " 1722384067 | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 189 | \n",
+ " 2r | \n",
+ " GGrr | \n",
+ " 1722384155 | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 189 | \n",
+ " 2g | \n",
+ " GGrr | \n",
+ " 1722384155 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 248 | \n",
+ " 2y | \n",
+ " GGrr | \n",
+ " 1722384155 | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 252 | \n",
+ " 1r | \n",
+ " GGrr | \n",
+ " 1722384156 | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 252 | \n",
+ " 1g | \n",
+ " GGrr | \n",
+ " 1722384156 | \n",
+ "
\n",
+ " \n",
+ " 13 | \n",
+ " 311 | \n",
+ " 1y | \n",
+ " GGrr | \n",
+ " 1722384156 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 157 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 158 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 159 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 160 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 161 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ " red_A | \n",
+ " red_B | \n",
+ " yellow_A | \n",
+ " yellow_B | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 157 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 158 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 159 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 160 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " 161 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.0 | \n",
+ " 4.0 | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ " red_A | \n",
+ " red_B | \n",
+ " yellow_A | \n",
+ " yellow_B | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 157 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 158 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 159 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 160 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 161 | \n",
+ " 455 | \n",
" 109901 | \n",
- " 1722383886 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " start_unix | \n",
+ " phas_A | \n",
+ " duration | \n",
+ " state_A | \n",
+ " red_A | \n",
+ " yellow_A | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " start_unix | \n",
+ " phas_B | \n",
+ " duration | \n",
+ " state_B | \n",
+ " red_B | \n",
+ " yellow_B | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 1722384066 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 1722384067 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 1722384155 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 63 | \n",
+ " rrGG | \n",
+ " 0 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722383968 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 15 | \n",
+ " grgrrrrG | \n",
+ " grgrrGGr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722383968 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 28 | \n",
+ " grgGGrrr | \n",
+ " grgrrGGr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722383968 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 7 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " gGgrrrrr | \n",
+ " gGgrrrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722383968 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 35 | \n",
+ " grgrrrrr | \n",
+ " grgrrrrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384057 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 15 | \n",
+ " grgrrrrG | \n",
+ " grgrrGGr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 5 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384057 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 28 | \n",
+ " grgGGrrr | \n",
+ " grgrrGGr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 6 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384057 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 7 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " gGgrrrrr | \n",
+ " gGgrrrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 7 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384057 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 35 | \n",
+ " grgrrrrr | \n",
+ " grgrrrrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 8 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384058 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 15 | \n",
+ " grgrrrrG | \n",
+ " grgrrGGr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 9 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384058 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 28 | \n",
+ " grgGGrrr | \n",
+ " grgrrGGr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 10 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384058 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 7 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " gGgrrrrr | \n",
+ " gGgrrrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 11 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384058 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 35 | \n",
+ " grgrrrrr | \n",
+ " grgrrrrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 12 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384147 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 15 | \n",
+ " grgrrrrG | \n",
+ " grgrrGGr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 13 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384147 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 15 | \n",
+ " grgrrrrG | \n",
+ " grgrrGGr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 14 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384147 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 28 | \n",
+ " grgGGrrr | \n",
+ " grgrrGGr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 15 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384147 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 28 | \n",
+ " grgGGrrr | \n",
+ " grgrrGGr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 16 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384147 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 7 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " gGgrrrrr | \n",
+ " gGgrrrrr | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 17 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384147 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 7 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " gGgrrrrr | \n",
+ " gGgrrrrr | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " 18 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384147 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 35 | \n",
+ " grgrrrrr | \n",
+ " grgrrrrr | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " 19 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384147 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 35 | \n",
+ " grgrrrrr | \n",
+ " grgrrrrr | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " 20 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384237 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 15 | \n",
+ " grgrrrrG | \n",
+ " grgrrGGr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 21 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384237 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 28 | \n",
+ " grgGGrrr | \n",
+ " grgrrGGr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 22 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384237 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 7 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " gGgrrrrr | \n",
+ " gGgrrrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 23 | \n",
+ " 456 | \n",
+ " 106231 | \n",
+ " 1722384237 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 35 | \n",
+ " grgrrrrr | \n",
+ " grgrrrrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 24 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722383873 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 45 | \n",
+ " gGGGrgrrrrgrrrrgrrr | \n",
+ " grrrrgrrrrgGGGrgrrr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 25 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722383873 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 5 | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " grrrrgrrrrgrrrGgrrr | \n",
+ " grrrGgrrrrgrrrrgrrr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 26 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722383873 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 40 | \n",
+ " grrrrgrrrrgrrrrgrrr | \n",
+ " grrrrgrrrrgrrrrgrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 27 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722383873 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 35 | \n",
+ " grrrrgGGrrgrrrrgrrr | \n",
+ " grrrrgrrGGgrrrrgrrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 28 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722383873 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 40 | \n",
+ " grrrrgrrrrgrrrrgrrG | \n",
+ " grrrrgrrrrgrrrrgGGr | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 29 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384052 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
+ " 45 | \n",
+ " gGGGrgrrrrgrrrrgrrr | \n",
+ " grrrrgrrrrgGGGrgrrr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 30 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384052 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 5 | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " grrrrgrrrrgrrrGgrrr | \n",
+ " grrrGgrrrrgrrrrgrrr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 31 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384052 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 40 | \n",
+ " grrrrgrrrrgrrrrgrrr | \n",
+ " grrrrgrrrrgrrrrgrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 32 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384052 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 40 | \n",
+ " grrrrgGGrrgrrrrgrrr | \n",
+ " grrrrgrrGGgrrrrgrrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 33 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384052 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 35 | \n",
+ " grrrrgrrrrgrrrrgrrG | \n",
+ " grrrrgrrrrgrrrrgGGr | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 34 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384232 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 45 | \n",
+ " gGGGrgrrrrgrrrrgrrr | \n",
+ " grrrrgrrrrgGGGrgrrr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 35 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384232 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 5 | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " grrrrgrrrrgrrrGgrrr | \n",
+ " grrrGgrrrrgrrrrgrrr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 36 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384232 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 40 | \n",
+ " grrrrgrrrrgrrrrgrrr | \n",
+ " grrrrgrrrrgrrrrgrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 37 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384232 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 40 | \n",
+ " grrrrgGGrrgrrrrgrrr | \n",
+ " grrrrgrrGGgrrrrgrrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 38 | \n",
+ " 457 | \n",
+ " 106234 | \n",
+ " 1722384232 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 35 | \n",
+ " grrrrgrrrrgrrrrgrrG | \n",
+ " grrrrgrrrrgrrrrgGGr | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
"
\n",
+ " \n",
+ " \n",
" \n",
- " 10 | \n",
+ " 39 | \n",
" 442 | \n",
" 106332 | \n",
" 1722383898 | \n",
@@ -454,9 +3216,10 @@
" 31 | \n",
" gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
" grrrrGGrrrgrrgrrrrrrrrgrrrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 11 | \n",
+ " 40 | \n",
" 442 | \n",
" 106332 | \n",
" 1722383898 | \n",
@@ -467,9 +3230,10 @@
" 27 | \n",
" gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
" grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 12 | \n",
+ " 41 | \n",
" 442 | \n",
" 106332 | \n",
" 1722383898 | \n",
@@ -480,9 +3244,10 @@
" 32 | \n",
" grrrrrrrrrgrrgrrrrrrGGgrrrr | \n",
" grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 13 | \n",
+ " 42 | \n",
" 442 | \n",
" 106332 | \n",
" 1722383898 | \n",
@@ -493,9 +3258,10 @@
" 49 | \n",
" grrrrrrrrrgrrgrrrrrrrrgrrrG | \n",
" grrrrrrrrrgrrgrrrrrrrrgGGGr | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 14 | \n",
+ " 43 | \n",
" 442 | \n",
" 106332 | \n",
" 1722383898 | \n",
@@ -506,9 +3272,10 @@
" 45 | \n",
" grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
" grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 4 | \n",
"
\n",
" \n",
- " 15 | \n",
+ " 44 | \n",
" 442 | \n",
" 106332 | \n",
" 1722383898 | \n",
@@ -519,9 +3286,317 @@
" 16 | \n",
" grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
" grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " 45 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384097 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 1 | \n",
+ " 35 | \n",
+ " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
+ " grrrrGGrrrgrrgrrrrrrrrgrrrr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 46 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384097 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 27 | \n",
+ " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
+ " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 47 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384097 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 30 | \n",
+ " grrrrrrrrrgrrgrrrrrrGGgrrrr | \n",
+ " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 48 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384097 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 47 | \n",
+ " grrrrrrrrrgrrgrrrrrrrrgrrrG | \n",
+ " grrrrrrrrrgrrgrrrrrrrrgGGGr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 49 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384097 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 45 | \n",
+ " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
+ " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 50 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384097 | \n",
+ " 6 | \n",
+ " 6 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 16 | \n",
+ " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
+ " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " 51 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384297 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 1 | \n",
+ " 35 | \n",
+ " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
+ " grrrrGGrrrgrrgrrrrrrrrgrrrr | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " 52 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384297 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 27 | \n",
+ " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
+ " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 53 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384297 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 30 | \n",
+ " grrrrrrrrrgrrgrrrrrrGGgrrrr | \n",
+ " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " 54 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384297 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 47 | \n",
+ " grrrrrrrrrgrrgrrrrrrrrgrrrG | \n",
+ " grrrrrrrrrgrrgrrrrrrrrgGGGr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 55 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384297 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 45 | \n",
+ " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
+ " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " 56 | \n",
+ " 442 | \n",
+ " 106332 | \n",
+ " 1722384297 | \n",
+ " 6 | \n",
+ " 6 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 16 | \n",
+ " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
+ " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
"
\n",
+ " \n",
+ " \n",
" \n",
- " 16 | \n",
+ " 65 | \n",
" 443 | \n",
" 108769 | \n",
" 1722383902 | \n",
@@ -532,9 +3607,10 @@
" 125 | \n",
" gGGGGGrrrrrrgrr | \n",
" grrrrrGGGGGrgrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 17 | \n",
+ " 66 | \n",
" 443 | \n",
" 108769 | \n",
" 1722383902 | \n",
@@ -545,9 +3621,10 @@
" 25 | \n",
" grrrrrrrrrrGgrr | \n",
" grrrrrGGGGGrgrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 18 | \n",
+ " 67 | \n",
" 443 | \n",
" 108769 | \n",
" 1722383902 | \n",
@@ -558,204 +3635,160 @@
" 50 | \n",
" grrrrrrrrrrrgGG | \n",
" grrrrrrrrrrrgrr | \n",
- "
\n",
- " \n",
- " 19 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383967 | \n",
- " 1 | \n",
- " 1 | \n",
- " 5 | \n",
- " 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
- "
\n",
- " \n",
- " 20 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383967 | \n",
- " 2 | \n",
" 2 | \n",
- " 6 | \n",
- " 2 | \n",
- " 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
- "
\n",
- " \n",
- " 21 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383967 | \n",
- " 3 | \n",
- " 3 | \n",
- " 7 | \n",
- " -1 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " grgrrrrr | \n",
"
\n",
" \n",
- " 22 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383967 | \n",
- " 4 | \n",
- " 4 | \n",
- " 17 | \n",
- " -1 | \n",
- " 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
- "
\n",
- " \n",
- " 23 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383968 | \n",
+ " 68 | \n",
+ " 443 | \n",
+ " 108769 | \n",
+ " 1722384102 | \n",
" 1 | \n",
" 1 | \n",
- " 5 | \n",
+ " 6 | \n",
" 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " 125 | \n",
+ " gGGGGGrrrrrrgrr | \n",
+ " grrrrrGGGGGrgrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 24 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383968 | \n",
+ " 69 | \n",
+ " 443 | \n",
+ " 108769 | \n",
+ " 1722384102 | \n",
" 2 | \n",
" 2 | \n",
- " 6 | \n",
+ " 5 | \n",
" 2 | \n",
- " 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " 25 | \n",
+ " grrrrrrrrrrGgrr | \n",
+ " grrrrrGGGGGrgrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 25 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383968 | \n",
+ " 70 | \n",
+ " 443 | \n",
+ " 108769 | \n",
+ " 1722384102 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
- "
\n",
- " \n",
- " 26 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722383968 | \n",
- " 4 | \n",
- " 4 | \n",
- " 17 | \n",
- " 17 | \n",
- " 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
- "
\n",
- " \n",
- " 27 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722383975 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
- "
\n",
- " \n",
- " 28 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722383976 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
- "
\n",
- " \n",
- " 29 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722383976 | \n",
- " 2 | \n",
+ " 18 | \n",
+ " 50 | \n",
+ " grrrrrrrrrrrgGG | \n",
+ " grrrrrrrrrrrgrr | \n",
" 2 | \n",
- " -1 | \n",
- " -1 | \n",
- " 27 | \n",
- " rrrr | \n",
- " rrrr | \n",
"
\n",
" \n",
- " 30 | \n",
- " 437 | \n",
- " 109986 | \n",
- " 1722384007 | \n",
+ " 71 | \n",
+ " 443 | \n",
+ " 108769 | \n",
+ " 1722384302 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 77 | \n",
- " gGGGGrgrrgrrrrrgrr | \n",
- " grrrrrgrrgGGGGrgrr | \n",
+ " 125 | \n",
+ " gGGGGGrrrrrrgrr | \n",
+ " grrrrrGGGGGrgrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 31 | \n",
- " 437 | \n",
- " 109986 | \n",
- " 1722384007 | \n",
+ " 72 | \n",
+ " 443 | \n",
+ " 108769 | \n",
+ " 1722384302 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
+ " 2 | \n",
+ " 25 | \n",
+ " grrrrrrrrrrGgrr | \n",
+ " grrrrrGGGGGrgrr | \n",
" 1 | \n",
- " 28 | \n",
- " grrrrrgrrgrrrrGgrr | \n",
- " grrrrGgrrgrrrrrgrr | \n",
"
\n",
" \n",
- " 32 | \n",
- " 437 | \n",
- " 109986 | \n",
- " 1722384007 | \n",
- " 3 | \n",
+ " 73 | \n",
+ " 443 | \n",
+ " 108769 | \n",
+ " 1722384302 | \n",
" 3 | \n",
- " 8 | \n",
" 3 | \n",
- " 46 | \n",
- " grrrrrgGrgrrrrrgrr | \n",
- " grrrrrgrGgrrrrrgrr | \n",
- "
\n",
- " \n",
- " 33 | \n",
- " 437 | \n",
- " 109986 | \n",
- " 1722384007 | \n",
- " 4 | \n",
- " 4 | \n",
" 7 | \n",
- " 4 | \n",
- " 49 | \n",
- " grrrrrgrrgrrrrrgrG | \n",
- " grrrrrgrrgrrrrrgGr | \n",
+ " 18 | \n",
+ " 50 | \n",
+ " grrrrrrrrrrrgGG | \n",
+ " grrrrrrrrrrrgrr | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
"
\n",
+ " \n",
+ " \n",
" \n",
- " 34 | \n",
+ " 145 | \n",
" 436 | \n",
" 109836 | \n",
" 1722384036 | \n",
@@ -766,9 +3799,10 @@
" 50 | \n",
" grrrrgrrgrGgrr | \n",
" grrrrgrrgGrgrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 35 | \n",
+ " 146 | \n",
" 436 | \n",
" 109836 | \n",
" 1722384036 | \n",
@@ -779,9 +3813,10 @@
" 85 | \n",
" grrrrgGrgrrgrr | \n",
" grrrrgrGgrrgrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 36 | \n",
+ " 147 | \n",
" 436 | \n",
" 109836 | \n",
" 1722384036 | \n",
@@ -792,9 +3827,10 @@
" 35 | \n",
" grrrrgrrgrrgrG | \n",
" grrrrgrrgrrgGr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 37 | \n",
+ " 148 | \n",
" 436 | \n",
" 109836 | \n",
" 1722384036 | \n",
@@ -805,178 +3841,208 @@
" 30 | \n",
" gGGGrgrrgrrgrr | \n",
" grrrGgrrgrrgrr | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 38 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384052 | \n",
+ " 149 | \n",
+ " 436 | \n",
+ " 109836 | \n",
+ " 1722384236 | \n",
" 1 | \n",
" 1 | \n",
- " 6 | \n",
+ " 5 | \n",
" 2 | \n",
- " 45 | \n",
- " gGGGrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgGGGrgrrr | \n",
+ " 50 | \n",
+ " grrrrgrrgrGgrr | \n",
+ " grrrrgrrgGrgrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 39 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384052 | \n",
+ " 150 | \n",
+ " 436 | \n",
+ " 109836 | \n",
+ " 1722384236 | \n",
" 2 | \n",
" 2 | \n",
- " 5 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 85 | \n",
+ " grrrrgGrgrrgrr | \n",
+ " grrrrgrGgrrgrr | \n",
" 1 | \n",
- " 20 | \n",
- " grrrrgrrrrgrrrGgrrr | \n",
- " grrrGgrrrrgrrrrgrrr | \n",
"
\n",
" \n",
- " 40 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384052 | \n",
+ " 151 | \n",
+ " 436 | \n",
+ " 109836 | \n",
+ " 1722384236 | \n",
" 3 | \n",
" 3 | \n",
- " 17 | \n",
- " 17 | \n",
- " 40 | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 35 | \n",
+ " grrrrgrrgrrgrG | \n",
+ " grrrrgrrgrrgGr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 41 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384052 | \n",
+ " 152 | \n",
+ " 436 | \n",
+ " 109836 | \n",
+ " 1722384236 | \n",
" 4 | \n",
" 4 | \n",
- " 8 | \n",
+ " 6 | \n",
+ " 1 | \n",
+ " 30 | \n",
+ " gGGGrgrrgrrgrr | \n",
+ " grrrGgrrgrrgrr | \n",
" 3 | \n",
- " 40 | \n",
- " grrrrgGGrrgrrrrgrrr | \n",
- " grrrrgrrGGgrrrrgrrr | \n",
- "
\n",
- " \n",
- " 42 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384052 | \n",
- " 5 | \n",
- " 5 | \n",
- " 7 | \n",
- " 4 | \n",
- " 35 | \n",
- " grrrrgrrrrgrrrrgrrG | \n",
- " grrrrgrrrrgrrrrgGGr | \n",
"
\n",
" \n",
- " 43 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384057 | \n",
+ " 153 | \n",
+ " 436 | \n",
+ " 109836 | \n",
+ " 1722384436 | \n",
" 1 | \n",
" 1 | \n",
" 5 | \n",
" 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " 50 | \n",
+ " grrrrgrrgrGgrr | \n",
+ " grrrrgrrgGrgrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 44 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384057 | \n",
- " 2 | \n",
+ " 154 | \n",
+ " 436 | \n",
+ " 109836 | \n",
+ " 1722384436 | \n",
" 2 | \n",
- " 6 | \n",
" 2 | \n",
- " 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 85 | \n",
+ " grrrrgGrgrrgrr | \n",
+ " grrrrgrGgrrgrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 45 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384057 | \n",
+ " 155 | \n",
+ " 436 | \n",
+ " 109836 | \n",
+ " 1722384436 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
- "
\n",
- " \n",
- " 46 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384057 | \n",
" 4 | \n",
- " 4 | \n",
- " 17 | \n",
- " 17 | \n",
" 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
- "
\n",
- " \n",
- " 47 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384058 | \n",
- " 1 | \n",
- " 1 | \n",
- " 5 | \n",
+ " grrrrgrrgrrgrG | \n",
+ " grrrrgrrgrrgGr | \n",
" 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
"
\n",
" \n",
- " 48 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384058 | \n",
- " 2 | \n",
- " 2 | \n",
+ " 156 | \n",
+ " 436 | \n",
+ " 109836 | \n",
+ " 1722384436 | \n",
+ " 4 | \n",
+ " 4 | \n",
" 6 | \n",
- " 2 | \n",
- " 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
- "
\n",
- " \n",
- " 49 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384058 | \n",
- " 3 | \n",
+ " 1 | \n",
+ " 30 | \n",
+ " gGGGrgrrgrrgrr | \n",
+ " grrrGgrrgrrgrr | \n",
" 3 | \n",
- " 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
"
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
- " 50 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384058 | \n",
- " 4 | \n",
- " 4 | \n",
- " 17 | \n",
- " 17 | \n",
- " 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
+ " 157 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722383976 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 51 | \n",
+ " 158 | \n",
" 455 | \n",
" 109901 | \n",
" 1722384066 | \n",
@@ -987,9 +4053,10 @@
" 63 | \n",
" GGrr | \n",
" rrGG | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 52 | \n",
+ " 159 | \n",
" 455 | \n",
" 109901 | \n",
" 1722384067 | \n",
@@ -1000,1345 +4067,1755 @@
" 63 | \n",
" GGrr | \n",
" rrGG | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 53 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384097 | \n",
- " 1 | \n",
+ " 160 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384155 | \n",
" 1 | \n",
- " 6 | \n",
" 1 | \n",
- " 35 | \n",
- " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
- " grrrrGGrrrgrrgrrrrrrrrgrrrr | \n",
- "
\n",
- " \n",
- " 54 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384097 | \n",
- " 2 | \n",
- " 2 | \n",
" 6 | \n",
" 2 | \n",
- " 27 | \n",
- " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 55 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384097 | \n",
- " 3 | \n",
- " 3 | \n",
- " 5 | \n",
+ " 161 | \n",
+ " 455 | \n",
+ " 109901 | \n",
+ " 1722384156 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 6 | \n",
" 2 | \n",
- " 30 | \n",
- " grrrrrrrrrgrrgrrrrrrGGgrrrr | \n",
- " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
- "
\n",
- " \n",
- " 56 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384097 | \n",
- " 4 | \n",
- " 4 | \n",
- " 7 | \n",
- " 4 | \n",
- " 47 | \n",
- " grrrrrrrrrgrrgrrrrrrrrgrrrG | \n",
- " grrrrrrrrrgrrgrrrrrrrrgGGGr | \n",
- "
\n",
- " \n",
- " 57 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384097 | \n",
- " 5 | \n",
- " 5 | \n",
- " 8 | \n",
- " 3 | \n",
- " 45 | \n",
- " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 63 | \n",
+ " GGrr | \n",
+ " rrGG | \n",
+ " 0 | \n",
"
\n",
- " \n",
- " 58 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384097 | \n",
- " 6 | \n",
- " 6 | \n",
- " 8 | \n",
- " 3 | \n",
- " 16 | \n",
- " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ "
\n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
"
\n",
+ " \n",
+ " \n",
" \n",
- " 59 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384102 | \n",
+ " 162 | \n",
+ " 437 | \n",
+ " 109986 | \n",
+ " 1722384007 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 125 | \n",
- " gGGGGGrrrrrrgrr | \n",
- " grrrrrGGGGGrgrr | \n",
+ " 77 | \n",
+ " gGGGGrgrrgrrrrrgrr | \n",
+ " grrrrrgrrgGGGGrgrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 60 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384102 | \n",
+ " 163 | \n",
+ " 437 | \n",
+ " 109986 | \n",
+ " 1722384007 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
- " 2 | \n",
- " 25 | \n",
- " grrrrrrrrrrGgrr | \n",
- " grrrrrGGGGGrgrr | \n",
+ " 1 | \n",
+ " 28 | \n",
+ " grrrrrgrrgrrrrGgrr | \n",
+ " grrrrGgrrgrrrrrgrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 61 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384102 | \n",
+ " 164 | \n",
+ " 437 | \n",
+ " 109986 | \n",
+ " 1722384007 | \n",
" 3 | \n",
" 3 | \n",
- " 7 | \n",
- " 18 | \n",
- " 50 | \n",
- " grrrrrrrrrrrgGG | \n",
- " grrrrrrrrrrrgrr | \n",
- "
\n",
- " \n",
- " 62 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384147 | \n",
- " 1 | \n",
- " 1 | \n",
- " 5 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 46 | \n",
+ " grrrrrgGrgrrrrrgrr | \n",
+ " grrrrrgrGgrrrrrgrr | \n",
" 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
"
\n",
" \n",
- " 63 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384147 | \n",
- " 1 | \n",
- " 1 | \n",
- " 5 | \n",
- " 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " 165 | \n",
+ " 437 | \n",
+ " 109986 | \n",
+ " 1722384007 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 49 | \n",
+ " grrrrrgrrgrrrrrgrG | \n",
+ " grrrrrgrrgrrrrrgGr | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 64 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384147 | \n",
- " 2 | \n",
- " 2 | \n",
+ " 166 | \n",
+ " 437 | \n",
+ " 109986 | \n",
+ " 1722384700 | \n",
+ " 1 | \n",
+ " 1 | \n",
" 6 | \n",
" 2 | \n",
- " 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " 71 | \n",
+ " gGGGGrgrrgrrrrrgrr | \n",
+ " grrrrrgrrgGGGGrgrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 65 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384147 | \n",
- " 2 | \n",
+ " 167 | \n",
+ " 437 | \n",
+ " 109986 | \n",
+ " 1722384700 | \n",
" 2 | \n",
- " 6 | \n",
" 2 | \n",
+ " 5 | \n",
+ " 1 | \n",
" 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " grrrrrgrrgrrrrGgrr | \n",
+ " grrrrGgrrgrrrrrgrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 66 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384147 | \n",
- " 3 | \n",
+ " 168 | \n",
+ " 437 | \n",
+ " 109986 | \n",
+ " 1722384700 | \n",
" 3 | \n",
- " 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
- "
\n",
- " \n",
- " 67 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384147 | \n",
" 3 | \n",
+ " 8 | \n",
" 3 | \n",
- " 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
+ " 58 | \n",
+ " grrrrrgGrgrrrrrgrr | \n",
+ " grrrrrgrGgrrrrrgrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 68 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384147 | \n",
- " 4 | \n",
+ " 169 | \n",
+ " 437 | \n",
+ " 109986 | \n",
+ " 1722384700 | \n",
" 4 | \n",
- " 17 | \n",
- " 17 | \n",
- " 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
- "
\n",
- " \n",
- " 69 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384147 | \n",
" 4 | \n",
+ " 7 | \n",
" 4 | \n",
- " 17 | \n",
- " 17 | \n",
- " 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
+ " 43 | \n",
+ " grrrrrgrrgrrrrrgrG | \n",
+ " grrrrrgrrgrrrrrgGr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
"
\n",
+ " \n",
+ " \n",
" \n",
- " 70 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722384155 | \n",
+ " 57 | \n",
+ " 437 | \n",
+ " 107587 | \n",
+ " 1722384007 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
+ " 77 | \n",
+ " GGGGr | \n",
+ " GGGGr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 71 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722384156 | \n",
+ " 58 | \n",
+ " 437 | \n",
+ " 107587 | \n",
+ " 1722384007 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 5 | \n",
" 1 | \n",
+ " 28 | \n",
+ " GGGGr | \n",
+ " GGGGG | \n",
" 1 | \n",
- " 6 | \n",
+ "
\n",
+ " \n",
+ " 59 | \n",
+ " 437 | \n",
+ " 107587 | \n",
+ " 1722384007 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 46 | \n",
+ " GGGGr | \n",
+ " GGGGr | \n",
" 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
"
\n",
" \n",
- " 72 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384232 | \n",
+ " 60 | \n",
+ " 437 | \n",
+ " 107587 | \n",
+ " 1722384007 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 49 | \n",
+ " GGGGr | \n",
+ " GGGGr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 61 | \n",
+ " 437 | \n",
+ " 107587 | \n",
+ " 1722384700 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 45 | \n",
- " gGGGrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgGGGrgrrr | \n",
+ " 71 | \n",
+ " GGGGr | \n",
+ " GGGGr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 73 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384232 | \n",
+ " 62 | \n",
+ " 437 | \n",
+ " 107587 | \n",
+ " 1722384700 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 1 | \n",
- " 20 | \n",
- " grrrrgrrrrgrrrGgrrr | \n",
- " grrrGgrrrrgrrrrgrrr | \n",
+ " 28 | \n",
+ " GGGGr | \n",
+ " GGGGG | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 74 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384232 | \n",
+ " 63 | \n",
+ " 437 | \n",
+ " 107587 | \n",
+ " 1722384700 | \n",
" 3 | \n",
" 3 | \n",
- " 17 | \n",
- " 17 | \n",
- " 40 | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- "
\n",
- " \n",
- " 75 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384236 | \n",
- " 1 | \n",
- " 1 | \n",
- " 5 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 58 | \n",
+ " GGGGr | \n",
+ " GGGGr | \n",
" 2 | \n",
- " 50 | \n",
- " grrrrgrrgrGgrr | \n",
- " grrrrgrrgGrgrr | \n",
"
\n",
" \n",
- " 76 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384236 | \n",
- " 2 | \n",
- " 2 | \n",
- " 8 | \n",
+ " 64 | \n",
+ " 437 | \n",
+ " 107587 | \n",
+ " 1722384700 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 43 | \n",
+ " GGGGr | \n",
+ " GGGGr | \n",
" 3 | \n",
- " 85 | \n",
- " grrrrgGrgrrgrr | \n",
- " grrrrgrGgrrgrr | \n",
"
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
- " 77 | \n",
+ " 74 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384237 | \n",
+ " 109295 | \n",
+ " 1722383968 | \n",
" 1 | \n",
" 1 | \n",
" 5 | \n",
" 2 | \n",
" 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 78 | \n",
+ " 75 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384237 | \n",
+ " 109295 | \n",
+ " 1722383968 | \n",
" 2 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 79 | \n",
+ " 76 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384237 | \n",
+ " 109295 | \n",
+ " 1722383968 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 7 | \n",
" 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 80 | \n",
+ " 77 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384237 | \n",
+ " 109295 | \n",
+ " 1722383968 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 17 | \n",
" 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
- "
\n",
- " \n",
- " 81 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722384246 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
- "
\n",
- " \n",
- " 82 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384297 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 1 | \n",
- " 35 | \n",
- " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
- " grrrrGGrrrgrrgrrrrrrrrgrrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 83 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384302 | \n",
+ " 78 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384057 | \n",
" 1 | \n",
" 1 | \n",
- " 6 | \n",
+ " 5 | \n",
" 2 | \n",
- " 125 | \n",
- " gGGGGGrrrrrrgrr | \n",
- " grrrrrGGGGGrgrr | \n",
+ " 15 | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 84 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384302 | \n",
+ " 79 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384057 | \n",
" 2 | \n",
" 2 | \n",
- " 5 | \n",
+ " 6 | \n",
" 2 | \n",
- " 25 | \n",
- " grrrrrrrrrrGgrr | \n",
- " grrrrrGGGGGrgrr | \n",
+ " 28 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 85 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384302 | \n",
+ " 80 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384057 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
- " 18 | \n",
- " 50 | \n",
- " grrrrrrrrrrrgGG | \n",
- " grrrrrrrrrrrgrr | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 86 | \n",
+ " 81 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384327 | \n",
+ " 109295 | \n",
+ " 1722384057 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 35 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 82 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384058 | \n",
" 1 | \n",
" 1 | \n",
" 5 | \n",
" 2 | \n",
" 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 87 | \n",
+ " 83 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384327 | \n",
+ " 109295 | \n",
+ " 1722384058 | \n",
" 2 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 88 | \n",
+ " 84 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384327 | \n",
+ " 109295 | \n",
+ " 1722384058 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 7 | \n",
" 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 89 | \n",
+ " 85 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384327 | \n",
+ " 109295 | \n",
+ " 1722384058 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 17 | \n",
" 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 90 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722384336 | \n",
+ " 86 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384147 | \n",
" 1 | \n",
" 1 | \n",
- " 6 | \n",
+ " 5 | \n",
" 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
+ " 15 | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 91 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384412 | \n",
+ " 87 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384147 | \n",
+ " 1 | \n",
" 1 | \n",
+ " 5 | \n",
+ " 2 | \n",
+ " 15 | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
" 1 | \n",
+ "
\n",
+ " \n",
+ " 88 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384147 | \n",
+ " 2 | \n",
+ " 2 | \n",
" 6 | \n",
" 2 | \n",
- " 45 | \n",
- " gGGGrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgGGGrgrrr | \n",
+ " 28 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 92 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384412 | \n",
+ " 89 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384147 | \n",
" 2 | \n",
" 2 | \n",
- " 5 | \n",
- " 1 | \n",
- " 20 | \n",
- " grrrrgrrrrgrrrGgrrr | \n",
- " grrrGgrrrrgrrrrgrrr | \n",
+ " 6 | \n",
+ " 2 | \n",
+ " 28 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 93 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384412 | \n",
+ " 90 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384147 | \n",
" 3 | \n",
" 3 | \n",
- " 17 | \n",
- " 17 | \n",
- " 40 | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
+ " 7 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 4 | \n",
"
\n",
" \n",
- " 94 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384412 | \n",
+ " 91 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384147 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 7 | \n",
+ " 7 | \n",
+ " 12 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " 92 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384147 | \n",
" 4 | \n",
" 4 | \n",
- " 8 | \n",
- " 3 | \n",
- " 40 | \n",
- " grrrrgGGrrgrrrrgrrr | \n",
- " grrrrgrrGGgrrrrgrrr | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 35 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 6 | \n",
"
\n",
" \n",
- " 95 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384412 | \n",
- " 5 | \n",
- " 5 | \n",
- " 7 | \n",
+ " 93 | \n",
+ " 456 | \n",
+ " 109295 | \n",
+ " 1722384147 | \n",
" 4 | \n",
+ " 4 | \n",
+ " 17 | \n",
+ " 17 | \n",
" 35 | \n",
- " grrrrgrrrrgrrrrgrrG | \n",
- " grrrrgrrrrgrrrrgGGr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 7 | \n",
"
\n",
" \n",
- " 96 | \n",
+ " 94 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384417 | \n",
+ " 109295 | \n",
+ " 1722384237 | \n",
" 1 | \n",
" 1 | \n",
" 5 | \n",
" 2 | \n",
" 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 97 | \n",
+ " 95 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384417 | \n",
+ " 109295 | \n",
+ " 1722384237 | \n",
" 2 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 98 | \n",
+ " 96 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384417 | \n",
+ " 109295 | \n",
+ " 1722384237 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 7 | \n",
" 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 99 | \n",
+ " 97 | \n",
" 456 | \n",
- " 106231 | \n",
- " 1722384417 | \n",
+ " 109295 | \n",
+ " 1722384237 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 17 | \n",
" 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 3 | \n",
"
\n",
- " \n",
- " 100 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722384426 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
+ "
\n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
"
\n",
+ " \n",
+ " \n",
" \n",
- " 101 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384436 | \n",
+ " 98 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722383873 | \n",
" 1 | \n",
" 1 | \n",
- " 5 | \n",
+ " 6 | \n",
" 2 | \n",
- " 50 | \n",
- " grrrrgrrgrGgrr | \n",
- " grrrrgrrgGrgrr | \n",
+ " 45 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 102 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384436 | \n",
+ " 99 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722383873 | \n",
" 2 | \n",
" 2 | \n",
- " 8 | \n",
- " 3 | \n",
- " 85 | \n",
- " grrrrgGrgrrgrr | \n",
- " grrrrgrGgrrgrr | \n",
- "
\n",
- " \n",
- " 103 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384436 | \n",
- " 3 | \n",
- " 3 | \n",
- " 7 | \n",
- " 4 | \n",
- " 35 | \n",
- " grrrrgrrgrrgrG | \n",
- " grrrrgrrgrrgGr | \n",
- "
\n",
- " \n",
- " 104 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384436 | \n",
- " 4 | \n",
- " 4 | \n",
- " 6 | \n",
- " 1 | \n",
- " 30 | \n",
- " gGGGrgrrgrrgrr | \n",
- " grrrGgrrgrrgrr | \n",
- "
\n",
- " \n",
- " 105 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384497 | \n",
- " 1 | \n",
+ " 5 | \n",
" 1 | \n",
- " 6 | \n",
+ " 20 | \n",
+ " GGGrrGGG | \n",
+ " GGGGGGGG | \n",
" 1 | \n",
- " 35 | \n",
- " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
- " grrrrGGrrrgrrgrrrrrrrrgrrrr | \n",
- "
\n",
- " \n",
- " 106 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384497 | \n",
- " 2 | \n",
- " 2 | \n",
- " 6 | \n",
- " 2 | \n",
- " 27 | \n",
- " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
"
\n",
" \n",
- " 107 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384497 | \n",
+ " 100 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722383873 | \n",
" 3 | \n",
" 3 | \n",
- " 5 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 40 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
" 2 | \n",
- " 30 | \n",
- " grrrrrrrrrgrrgrrrrrrGGgrrrr | \n",
- " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
"
\n",
" \n",
- " 108 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384497 | \n",
- " 4 | \n",
+ " 101 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722383873 | \n",
" 4 | \n",
- " 7 | \n",
" 4 | \n",
- " 47 | \n",
- " grrrrrrrrrgrrgrrrrrrrrgrrrG | \n",
- " grrrrrrrrrgrrgrrrrrrrrgGGGr | \n",
- "
\n",
- " \n",
- " 109 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384497 | \n",
- " 5 | \n",
- " 5 | \n",
" 8 | \n",
" 3 | \n",
- " 45 | \n",
- " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 35 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 110 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384497 | \n",
- " 6 | \n",
- " 6 | \n",
- " 8 | \n",
- " 3 | \n",
- " 16 | \n",
- " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ " 102 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722383873 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 40 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 4 | \n",
"
\n",
" \n",
- " 111 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384502 | \n",
+ " 103 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384052 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 125 | \n",
- " gGGGGGrrrrrrgrr | \n",
- " grrrrrGGGGGrgrr | \n",
+ " 45 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 112 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384502 | \n",
+ " 104 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384052 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " GGGrrGGG | \n",
+ " GGGGGGGG | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " 105 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384052 | \n",
+ " 3 | \n",
+ " 3 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 40 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
" 2 | \n",
- " 25 | \n",
- " grrrrrrrrrrGgrr | \n",
- " grrrrrGGGGGrgrr | \n",
"
\n",
" \n",
- " 113 | \n",
- " 443 | \n",
- " 108769 | \n",
- " 1722384502 | \n",
+ " 106 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384052 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 8 | \n",
" 3 | \n",
+ " 40 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
" 3 | \n",
+ "
\n",
+ " \n",
+ " 107 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384052 | \n",
+ " 5 | \n",
+ " 5 | \n",
" 7 | \n",
- " 18 | \n",
- " 50 | \n",
- " grrrrrrrrrrrgGG | \n",
- " grrrrrrrrrrrgrr | \n",
+ " 4 | \n",
+ " 35 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 4 | \n",
"
\n",
" \n",
- " 114 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384507 | \n",
+ " 108 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384232 | \n",
" 1 | \n",
" 1 | \n",
- " 5 | \n",
+ " 6 | \n",
" 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " 45 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 115 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384507 | \n",
- " 2 | \n",
+ " 109 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384232 | \n",
" 2 | \n",
- " 6 | \n",
" 2 | \n",
- " 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " 5 | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " GGGrrGGG | \n",
+ " GGGGGGGG | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 116 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384507 | \n",
+ " 110 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384232 | \n",
" 3 | \n",
" 3 | \n",
- " 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 40 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 117 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384507 | \n",
+ " 111 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384232 | \n",
" 4 | \n",
" 4 | \n",
- " 17 | \n",
- " 17 | \n",
- " 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 40 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 118 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722384516 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
+ " 112 | \n",
+ " 457 | \n",
+ " 109296 | \n",
+ " 1722384232 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 35 | \n",
+ " GGGrrGGG | \n",
+ " GGGrrGGG | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
"
\n",
+ " \n",
+ " \n",
" \n",
- " 119 | \n",
+ " 113 | \n",
" 457 | \n",
- " 106234 | \n",
- " 1722384592 | \n",
+ " 109297 | \n",
+ " 1722383873 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 45 | \n",
- " gGGGrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgGGGrgrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 120 | \n",
+ " 114 | \n",
" 457 | \n",
- " 106234 | \n",
- " 1722384592 | \n",
+ " 109297 | \n",
+ " 1722383873 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 1 | \n",
" 20 | \n",
- " grrrrgrrrrgrrrGgrrr | \n",
- " grrrGgrrrrgrrrrgrrr | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 121 | \n",
+ " 115 | \n",
" 457 | \n",
- " 106234 | \n",
- " 1722384592 | \n",
+ " 109297 | \n",
+ " 1722383873 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 17 | \n",
" 40 | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 122 | \n",
+ " 116 | \n",
" 457 | \n",
- " 106234 | \n",
- " 1722384592 | \n",
+ " 109297 | \n",
+ " 1722383873 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
- " 40 | \n",
- " grrrrgGGrrgrrrrgrrr | \n",
- " grrrrgrrGGgrrrrgrrr | \n",
+ " 35 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 123 | \n",
+ " 117 | \n",
" 457 | \n",
- " 106234 | \n",
- " 1722384592 | \n",
+ " 109297 | \n",
+ " 1722383873 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
- " 35 | \n",
- " grrrrgrrrrgrrrrgrrG | \n",
- " grrrrgrrrrgrrrrgGGr | \n",
+ " 40 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 4 | \n",
"
\n",
" \n",
- " 124 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384597 | \n",
+ " 118 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384052 | \n",
" 1 | \n",
" 1 | \n",
- " 5 | \n",
+ " 6 | \n",
" 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " 45 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 125 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384597 | \n",
- " 2 | \n",
+ " 119 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384052 | \n",
" 2 | \n",
- " 6 | \n",
" 2 | \n",
- " 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " 5 | \n",
+ " 1 | \n",
+ " 20 | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 126 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384597 | \n",
+ " 120 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384052 | \n",
" 3 | \n",
" 3 | \n",
- " 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 40 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 127 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384597 | \n",
+ " 121 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384052 | \n",
" 4 | \n",
" 4 | \n",
- " 17 | \n",
- " 17 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 40 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " 122 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384052 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 7 | \n",
+ " 4 | \n",
" 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 4 | \n",
"
\n",
" \n",
- " 128 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722384606 | \n",
+ " 123 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384232 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
+ " 45 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 129 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384636 | \n",
+ " 124 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384232 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 5 | \n",
" 1 | \n",
+ " 20 | \n",
+ " GGGGGGGG | \n",
+ " GGGGGGrr | \n",
" 1 | \n",
- " 5 | \n",
- " 2 | \n",
- " 50 | \n",
- " grrrrgrrgrGgrr | \n",
- " grrrrgrrgGrgrr | \n",
"
\n",
" \n",
- " 130 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384636 | \n",
- " 2 | \n",
- " 2 | \n",
- " 8 | \n",
+ " 125 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384232 | \n",
" 3 | \n",
- " 85 | \n",
- " grrrrgGrgrrgrr | \n",
- " grrrrgrGgrrgrr | \n",
+ " 3 | \n",
+ " 17 | \n",
+ " 17 | \n",
+ " 40 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 131 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384636 | \n",
+ " 126 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384232 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ " 8 | \n",
" 3 | \n",
+ " 40 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
" 3 | \n",
- " 7 | \n",
- " 4 | \n",
- " 35 | \n",
- " grrrrgrrgrrgrG | \n",
- " grrrrgrrgrrgGr | \n",
"
\n",
" \n",
- " 132 | \n",
- " 436 | \n",
- " 109836 | \n",
- " 1722384636 | \n",
+ " 127 | \n",
+ " 457 | \n",
+ " 109297 | \n",
+ " 1722384232 | \n",
+ " 5 | \n",
+ " 5 | \n",
+ " 7 | \n",
" 4 | \n",
+ " 35 | \n",
+ " GGGGGGrr | \n",
+ " GGGGGGrr | \n",
" 4 | \n",
- " 6 | \n",
- " 1 | \n",
- " 30 | \n",
- " gGGGrgrrgrrgrr | \n",
- " grrrGgrrgrrgrr | \n",
"
\n",
+ " \n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
- " 133 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384687 | \n",
+ " 128 | \n",
+ " 437 | \n",
+ " 109313 | \n",
+ " 1722384007 | \n",
" 1 | \n",
" 1 | \n",
- " 5 | \n",
+ " 6 | \n",
" 2 | \n",
- " 15 | \n",
- " grgrrrrG | \n",
- " grgrrGGr | \n",
+ " 77 | \n",
+ " GGGGGGGGr | \n",
+ " GGGGGGGGr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 134 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384687 | \n",
- " 2 | \n",
+ " 129 | \n",
+ " 437 | \n",
+ " 109313 | \n",
+ " 1722384007 | \n",
" 2 | \n",
- " 6 | \n",
" 2 | \n",
+ " 5 | \n",
+ " 1 | \n",
" 28 | \n",
- " grgGGrrr | \n",
- " grgrrGGr | \n",
+ " GGGGGGGGG | \n",
+ " GGGGGGGGr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 135 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384687 | \n",
+ " 130 | \n",
+ " 437 | \n",
+ " 109313 | \n",
+ " 1722384007 | \n",
" 3 | \n",
" 3 | \n",
- " 7 | \n",
- " 7 | \n",
- " 12 | \n",
- " gGgrrrrr | \n",
- " gGgrrrrr | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 46 | \n",
+ " GGGGGGGGr | \n",
+ " GGGGGGGGr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 136 | \n",
- " 456 | \n",
- " 106231 | \n",
- " 1722384687 | \n",
+ " 131 | \n",
+ " 437 | \n",
+ " 109313 | \n",
+ " 1722384007 | \n",
" 4 | \n",
" 4 | \n",
- " 17 | \n",
- " 17 | \n",
- " 35 | \n",
- " grgrrrrr | \n",
- " grgrrrrr | \n",
+ " 7 | \n",
+ " 4 | \n",
+ " 49 | \n",
+ " GGGGGGGGr | \n",
+ " GGGGGGGGr | \n",
+ " 3 | \n",
"
\n",
" \n",
- " 137 | \n",
- " 455 | \n",
- " 109901 | \n",
- " 1722384696 | \n",
+ " 132 | \n",
+ " 437 | \n",
+ " 109313 | \n",
+ " 1722384700 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 63 | \n",
- " GGrr | \n",
- " rrGG | \n",
- "
\n",
- " \n",
- " 138 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384697 | \n",
- " 1 | \n",
- " 1 | \n",
- " 6 | \n",
- " 1 | \n",
- " 35 | \n",
- " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
- " grrrrGGrrrgrrgrrrrrrrrgrrrr | \n",
+ " 71 | \n",
+ " GGGGGGGGr | \n",
+ " GGGGGGGGr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 139 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384697 | \n",
- " 2 | \n",
+ " 133 | \n",
+ " 437 | \n",
+ " 109313 | \n",
+ " 1722384700 | \n",
" 2 | \n",
- " 6 | \n",
" 2 | \n",
- " 27 | \n",
- " gGGGrrrrrrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
+ " 5 | \n",
+ " 1 | \n",
+ " 28 | \n",
+ " GGGGGGGGG | \n",
+ " GGGGGGGGr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 140 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384697 | \n",
+ " 134 | \n",
+ " 437 | \n",
+ " 109313 | \n",
+ " 1722384700 | \n",
" 3 | \n",
" 3 | \n",
- " 5 | \n",
+ " 8 | \n",
+ " 3 | \n",
+ " 58 | \n",
+ " GGGGGGGGr | \n",
+ " GGGGGGGGr | \n",
" 2 | \n",
- " 30 | \n",
- " grrrrrrrrrgrrgrrrrrrGGgrrrr | \n",
- " grrrrrrrrrgrrgrGGGGGrrgrrrr | \n",
"
\n",
" \n",
- " 141 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384697 | \n",
+ " 135 | \n",
+ " 437 | \n",
+ " 109313 | \n",
+ " 1722384700 | \n",
" 4 | \n",
" 4 | \n",
" 7 | \n",
" 4 | \n",
- " 47 | \n",
- " grrrrrrrrrgrrgrrrrrrrrgrrrG | \n",
- " grrrrrrrrrgrrgrrrrrrrrgGGGr | \n",
- "
\n",
- " \n",
- " 142 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384697 | \n",
- " 5 | \n",
- " 5 | \n",
- " 8 | \n",
+ " 43 | \n",
+ " GGGGGGGGr | \n",
+ " GGGGGGGGr | \n",
" 3 | \n",
- " 45 | \n",
- " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
"
\n",
- " \n",
- " 143 | \n",
- " 442 | \n",
- " 106332 | \n",
- " 1722384697 | \n",
- " 6 | \n",
- " 6 | \n",
- " 8 | \n",
- " 3 | \n",
- " 16 | \n",
- " grrrrrrGGrgrrgrrrrrrrrgrrrr | \n",
- " grrrrrrrrGgrrgrrrrrrrrgrrrr | \n",
+ "
\n",
+ "
\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",
+ " inter_no | \n",
+ " node_id | \n",
+ " start_unix | \n",
+ " phas_A | \n",
+ " phas_B | \n",
+ " move_A | \n",
+ " move_B | \n",
+ " duration | \n",
+ " state_A | \n",
+ " state_B | \n",
+ " phase_sumo | \n",
"
\n",
+ " \n",
+ " \n",
" \n",
- " 144 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384700 | \n",
+ " 136 | \n",
+ " 443 | \n",
+ " 109333 | \n",
+ " 1722383902 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 27 | \n",
- " gGGGrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgGGGrgrrr | \n",
+ " 125 | \n",
+ " GGGGGGGGGGGr | \n",
+ " GGGGGGGGGGGr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 145 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384700 | \n",
+ " 137 | \n",
+ " 443 | \n",
+ " 109333 | \n",
+ " 1722383902 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
+ " 2 | \n",
+ " 25 | \n",
+ " GGGGGGGGGGGG | \n",
+ " GGGGGGGGGGGr | \n",
" 1 | \n",
- " 12 | \n",
- " grrrrgrrrrgrrrGgrrr | \n",
- " grrrGgrrrrgrrrrgrrr | \n",
"
\n",
" \n",
- " 146 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384700 | \n",
- " 3 | \n",
+ " 138 | \n",
+ " 443 | \n",
+ " 109333 | \n",
+ " 1722383902 | \n",
" 3 | \n",
- " 17 | \n",
- " 17 | \n",
- " 24 | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- " grrrrgrrrrgrrrrgrrr | \n",
- "
\n",
- " \n",
- " 147 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384700 | \n",
- " 4 | \n",
- " 4 | \n",
- " 8 | \n",
" 3 | \n",
- " 24 | \n",
- " grrrrgGGrrgrrrrgrrr | \n",
- " grrrrgrrGGgrrrrgrrr | \n",
- "
\n",
- " \n",
- " 148 | \n",
- " 457 | \n",
- " 106234 | \n",
- " 1722384700 | \n",
- " 5 | \n",
- " 5 | \n",
" 7 | \n",
- " 4 | \n",
- " 21 | \n",
- " grrrrgrrrrgrrrrgrrG | \n",
- " grrrrgrrrrgrrrrgGGr | \n",
+ " 18 | \n",
+ " 50 | \n",
+ " GGGGGGGGGGGr | \n",
+ " GGGGGGGGGGGr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 149 | \n",
+ " 139 | \n",
" 443 | \n",
- " 108769 | \n",
- " 1722384700 | \n",
+ " 109333 | \n",
+ " 1722384102 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 124 | \n",
- " gGGGGGrrrrrrgrr | \n",
- " grrrrrGGGGGrgrr | \n",
+ " 125 | \n",
+ " GGGGGGGGGGGr | \n",
+ " GGGGGGGGGGGr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 150 | \n",
+ " 140 | \n",
" 443 | \n",
- " 108769 | \n",
- " 1722384700 | \n",
+ " 109333 | \n",
+ " 1722384102 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 25 | \n",
- " grrrrrrrrrrGgrr | \n",
- " grrrrrGGGGGrgrr | \n",
+ " GGGGGGGGGGGG | \n",
+ " GGGGGGGGGGGr | \n",
+ " 1 | \n",
"
\n",
" \n",
- " 151 | \n",
+ " 141 | \n",
" 443 | \n",
- " 108769 | \n",
- " 1722384700 | \n",
+ " 109333 | \n",
+ " 1722384102 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 18 | \n",
- " 49 | \n",
- " grrrrrrrrrrrgGG | \n",
- " grrrrrrrrrrrgrr | \n",
+ " 50 | \n",
+ " GGGGGGGGGGGr | \n",
+ " GGGGGGGGGGGr | \n",
+ " 2 | \n",
"
\n",
" \n",
- " 152 | \n",
- " 437 | \n",
- " 109986 | \n",
- " 1722384700 | \n",
+ " 142 | \n",
+ " 443 | \n",
+ " 109333 | \n",
+ " 1722384302 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
- " 71 | \n",
- " gGGGGrgrrgrrrrrgrr | \n",
- " grrrrrgrrgGGGGrgrr | \n",
+ " 125 | \n",
+ " GGGGGGGGGGGr | \n",
+ " GGGGGGGGGGGr | \n",
+ " 0 | \n",
"
\n",
" \n",
- " 153 | \n",
- " 437 | \n",
- " 109986 | \n",
- " 1722384700 | \n",
+ " 143 | \n",
+ " 443 | \n",
+ " 109333 | \n",
+ " 1722384302 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
+ " 2 | \n",
+ " 25 | \n",
+ " GGGGGGGGGGGG | \n",
+ " GGGGGGGGGGGr | \n",
" 1 | \n",
- " 28 | \n",
- " grrrrrgrrgrrrrGgrr | \n",
- " grrrrGgrrgrrrrrgrr | \n",
"
\n",
" \n",
- " 154 | \n",
- " 437 | \n",
- " 109986 | \n",
- " 1722384700 | \n",
- " 3 | \n",
+ " 144 | \n",
+ " 443 | \n",
+ " 109333 | \n",
+ " 1722384302 | \n",
" 3 | \n",
- " 8 | \n",
" 3 | \n",
- " 58 | \n",
- " grrrrrgGrgrrrrrgrr | \n",
- " grrrrrgrGgrrrrrgrr | \n",
- "
\n",
- " \n",
- " 155 | \n",
- " 437 | \n",
- " 109986 | \n",
- " 1722384700 | \n",
- " 4 | \n",
- " 4 | \n",
" 7 | \n",
- " 4 | \n",
- " 43 | \n",
- " grrrrrgrrgrrrrrgrG | \n",
- " grrrrrgrrgrrrrrgGr | \n",
+ " 18 | \n",
+ " 50 | \n",
+ " GGGGGGGGGGGr | \n",
+ " GGGGGGGGGGGr | \n",
+ " 2 | \n",
"
\n",
" \n",
"
\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