diff --git a/Analysis/0207_code_reivision/0207_code_reivision.ipynb b/Analysis/0207_code_reivision/0207_code_reivision.ipynb index 02d34e398..8172e9e90 100644 --- a/Analysis/0207_code_reivision/0207_code_reivision.ipynb +++ b/Analysis/0207_code_reivision/0207_code_reivision.ipynb @@ -2,47 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "41.0\n" - ] - } - ], - "source": [ - "time_data = \"\"\"\n", - "3h\n", - "0.5h\n", - "3h\n", - "2h\n", - "2h\n", - "4h\n", - "3h\n", - "1.5h\n", - "4h\n", - "3.5h\n", - "2.5h\n", - "2h\n", - "3h\n", - "3h\n", - "2h\n", - "1h\n", - "0h\n", - "0.5h\n", - "0.5h\n", - "\"\"\"\n", - "time_list = time_data.strip().split('\\n')\n", - "total_hours = sum(float(time.replace('h', '')) for time in time_list)\n", - "print(total_hours)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, + "execution_count": 158, "metadata": {}, "outputs": [ { @@ -60,7 +20,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "이동류정보 불러오는 중: 100%|██████████| 17280/17280 [00:51<00:00, 334.89it/s]\n" + "이동류정보 불러오는 중: 100%|██████████| 17280/17280 [00:13<00:00, 1269.15it/s]\n" ] } ], @@ -83,33 +43,9 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 159, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "u00 True\n", - "u20 False\n", - "u30 True\n", - "u31 True\n", - "u32 True\n", - "u60 True\n" - ] - }, - { - "ename": "NameError", - "evalue": "name 'pd' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[4], line 55\u001b[0m\n\u001b[0;32m 52\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcoord \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcoord[[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124minter_no\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mphase_no\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mring_type\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmove_no\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124minc_dir\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mout_dir\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124minc_angle\u001b[39m\u001b[38;5;124m'\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mout_angle\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124minc_edge\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mout_edge\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnode_id\u001b[39m\u001b[38;5;124m'\u001b[39m]]\n\u001b[0;32m 54\u001b[0m \u001b[38;5;66;03m# display(coord)\u001b[39;00m\n\u001b[1;32m---> 55\u001b[0m cmatches \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241m.\u001b[39mconcat(cmatches)\n\u001b[0;32m 56\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmatch6 \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mconcat([\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmatch5, cmatches, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcoord])\u001b[38;5;241m.\u001b[39mdrop_duplicates()\u001b[38;5;241m.\u001b[39msort_values(by\u001b[38;5;241m=\u001b[39m[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124minter_no\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnode_id\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mphase_no\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mring_type\u001b[39m\u001b[38;5;124m'\u001b[39m])\n\u001b[0;32m 57\u001b[0m \u001b[38;5;66;03m# self.match6.to_csv(os.path.join(self.path_intermediates, 'match6.csv'))\u001b[39;00m\n", - "\u001b[1;31mNameError\u001b[0m: name 'pd' is not defined" - ] - } - ], + "outputs": [], "source": [ "# self.node2inter = dict(zip(self.inter_node['node_id'], self.inter_node['inter_no']))\n", "\n", @@ -170,27 +106,6 @@ "# # self.match6.to_csv(os.path.join(self.path_intermediates, 'match6.csv'))" ] }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'DailyPreprocessor' object has no attribute 'match6'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[5], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmatch6\u001b[49m\n", - "\u001b[1;31mAttributeError\u001b[0m: 'DailyPreprocessor' object has no attribute 'match6'" - ] - } - ], - "source": [ - "self.match6" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -200,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 160, "metadata": {}, "outputs": [ { @@ -209,19 +124,9 @@ "text": [ "[37 39 55 29 0 0 0 0]\n", "[37 39 25 59 0 0 0 0]\n", - "[ 37 76 131 160 160 160 160 160]\n", - "[ 37 76 101 160 160 160 160 160]\n", - "[ 37 76 101 131 160]\n", "[37 39 25 30 29]\n", - "{(1, 1): 37, (2, 2): 39, (3, 3): 25, (3, 4): 55, (4, 4): 29, (4, 5): 59, (5, 5): 0, (6, 6): 0, (7, 7): 0, (8, 8): 0}\n", - "\n", - "[37 39 55 29 0 0 0 0]\n", - "[37 39 25 59 0 0 0 0]\n", - "[ 0 39 55 29 0 0 0 0]\n", - "[ 0 0 55 29 0 0 0 0]\n", - "[ 0 0 30 29 0 0 0 0]\n", - "[ 0 0 30 -1 0 0 0 0]\n", - "[ 0 0 30 -1 -29 0 0 0]\n" + "{(1, 1): 1, (2, 2): 2, (3, 3): 3, (3, 4): 4, (4, 4): 5}\n", + "{(1, 1): 1, (2, 2): 2, (3, 3): 3, (3, 4): 4, (4, 4): 5}\n" ] } ], @@ -237,38 +142,35 @@ "dura_A = np.array(row[[f'dura_A{j}' for j in range(1, 9)]])\n", "dura_B = np.array(row[[f'dura_B{j}' for j in range(1, 9)]])\n", "\n", - "print(np.array(dura_A))\n", - "print(np.array(dura_B))\n", - "\n", - "cums_A = row[[f'dura_A{j}' for j in range(1,9)]].cumsum()\n", - "cums_B = row[[f'dura_B{j}' for j in range(1,9)]].cumsum()\n", + "print(dura_A)\n", + "print(dura_B)\n", "\n", - "print(np.array(cums_A))\n", - "print(np.array(cums_B))\n", + "cums_A = dura_A.cumsum()\n", + "cums_B = dura_B.cumsum()\n", "\n", - "detailed_cums = []\n", "combined_row = np.unique(np.concatenate((cums_A,cums_B)))\n", - "print(combined_row)\n", "detailed_durations = np.concatenate(([combined_row[0]], np.diff(combined_row)))\n", "\n", "print(detailed_durations)\n", "\n", - "desired_dict = {(1, 1): 37, (2, 2): 39, (3, 3): 25, (3, 4): 55, (4, 4): 29, (4, 5): 59, (5, 5): 0, (6, 6): 0, (7, 7): 0, (8, 8): 0}\n", - "print(desired_dict)\n", - "\n", - "print()\n", - "print(dura_A)\n", - "print(dura_B)\n", - "j = 0\n", - "for i in range(len(detailed_durations)):\n", - " dura_A[j] -= detailed_durations[i]\n", - " print(dura_A)\n", - " j += 1" + "split = {}\n", + "ja = 0\n", + "jb = 0\n", + "for k in range(len(detailed_durations)):\n", + " dura_A[ja] -= detailed_durations[k]\n", + " dura_B[jb] -= detailed_durations[k]\n", + " split[(ja+1, jb+1)] = k+1\n", + " if dura_A[ja] == 0:\n", + " ja += 1\n", + " if dura_B[jb] == 0:\n", + " jb += 1\n", + "print(split)\n", + "print({(1, 1): 1, (2, 2): 2, (3, 3): 3, (3, 4): 4, (4, 4): 5})" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 161, "metadata": {}, "outputs": [ { @@ -337,83 +239,1036 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 162, "metadata": {}, "outputs": [], "source": [ - "# split, isplit : A,B 분리 혹은 통합시 사용될 수 있는 딕셔너리 \n", - "self.splits = {} # splits maps (inter_no, start_hour, start_minute) to split \n", - "for i, row in self.plan.iterrows():\n", - " inter_no = row.inter_no\n", - " start_hour = row.start_hour\n", - " start_minute = row.start_minute\n", - " cycle = row.cycle\n", - " cums_A = row[[f'dura_A{j}' for j in range(1,9)]].cumsum()\n", - " cums_B = row[[f'dura_B{j}' for j in range(1,9)]].cumsum()\n", - " self.splits[(inter_no, start_hour, start_minute)] = {} # split maps (phas_A, phas_B) to k\n", - " k = 0\n", - " for t in range(cycle):\n", - " new_phas_A = len(cums_A[cums_A < t]) + 1\n", - " new_phas_B = len(cums_B[cums_B < t]) + 1\n", - " if k == 0 or ((new_phas_A, new_phas_B) != (phas_A, phas_B)):\n", - " k += 1\n", - " phas_A = new_phas_A\n", - " phas_B = new_phas_B\n", - " self.splits[(inter_no, start_hour, start_minute)][(phas_A, phas_B)] = k\n", - "self.isplits = {} # the inverse of splits\n", - "for i in self.splits:\n", - " self.isplits[i] = {self.splits[i][k]:k for k in self.splits[i]} # isplit maps k to (phas_A, phas_B)\n" + "import time\n", + "start_time = time.time()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGfCAYAAAD/BbCUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAbFUlEQVR4nO3de5DVdf348dcK7gGRXQJll81F8UrjBRtKXC3T3BHI0TQnRypv43gptDEqhUZFqxk0mySTdGpUcsooZ7xMYjYKiamAQRCRyaADCemuE87uAl9dlH3//ijPr5WLLp7z3j3weMx8Rs/nvM857897dnaf8zmfw6lKKaUAAMhkr96eAACwZxEfAEBW4gMAyEp8AABZiQ8AICvxAQBkJT4AgKzEBwCQlfgAALISHwBAVv17MnjGjBnx4IMPxosvvhgDBw6ME044IW655ZY44ogjimNOPvnkWLBgQbfHXX755XHXXXd9oNfo6uqKV199NQYPHhxVVVU9mR4A0EtSSrFx48ZoaGiIvfba+bmNqp58t8uECRPivPPOi09+8pPxzjvvxHe+851YuXJlvPDCCzFo0KCI+E98HH744fHd7363+Lh99tknampqPtBrrF+/PhobGz/olACAPmTdunVxwAEH7HRMj858PP74491uz549O4YPHx5Lly6Nk046qbh/n332ifr6+p48ddHgwYMj4j+T/6DBAgD0ro6OjmhsbCz+Hd+ZHsXHe7W3t0dExNChQ7vt/9WvfhW//OUvo76+Ps4444y4/vrrY5999tnuc3R2dkZnZ2fx9saNGyMioqamRnwAQIX5IJdM7HJ8dHV1xdVXXx0nnnhiHHXUUcX9X/rSl+LAAw+MhoaGWLFiRVx77bWxatWqePDBB7f7PDNmzIibbrppV6cBAFSYHl3z8b+++tWvxu9///t45plndvrezvz58+PUU0+Nl156KQ455JBt7n/vmY93T9u0t7c78wEAFaKjoyNqa2s/0N/vXTrzceWVV8ajjz4aTz/99PteVDJu3LiIiB3GR6FQiEKhsCvTAAAqUI/iI6UUV111VTz00EPx1FNPxahRo973McuXL4+IiBEjRuzSBAGA3UuP4mPy5Mlx//33xyOPPBKDBw+OlpaWiIiora2NgQMHxssvvxz3339/fO5zn4thw4bFihUr4hvf+EacdNJJccwxx5TlAACA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P7q6unb4xXVjx46NvffeO+bNm1fct2rVqnjllVeiqamp7MdWCaqrq2Ps2LHd1qirqyvmzZu3wzVqamrqNj4i4oknniiOHzVqVNTX13cb09HREYsXL96j170ca822yrXO74bH6tWr48knn4xhw4aV5wAqSM6f6a6urujs7Pzwk65A5Vjn888/P1asWBHLly8vbg0NDfHtb387/vCHP5TvYMp6OWuZTJgwIX384x9PixcvTs8880w67LDDun3Udv369emII45IixcvLu674oor0siRI9P8+fPTkiVLUlNTU2pqaur2vKtXr07Lli1Ll19+eTr88MPTsmXL0rJly1JnZ2e2Y+tNc+bMSYVCIc2ePTu98MIL6bLLLktDhgxJLS0tKaWUzj///DR16tTi+GeffTb1798//fCHP0z/+Mc/0vTp07f7UdshQ4akRx55JK1YsSJ9/vOf91HbVJ613rBhQ1q2bFmaO3duiog0Z86ctGzZsvTaa69lP76+otTrvGXLlnTmmWemAw44IC1fvjy99tprxW1P+T2xI6Ve602bNqVp06alhQsXprVr16YlS5akiy++OBUKhbRy5cpeOca+oBy/O94rx6ddKjI+NmzYkCZNmpT23XffVFNTky6++OK0cePG4v3vftTwj3/8Y3Hfm2++mb72ta+lj3zkI2mfffZJZ5999ja/lD/zmc+kiNhmW7NmTaYj630/+clP0siRI1N1dXU67rjj0qJFi4r3feYzn0kXXnhht/G//e1v0+GHH56qq6vTkUcemebOndvt/q6urnT99denurq6VCgU0qmnnppWrVqV41D6vFKv9b333rvdn9/p06dnOJq+q5Tr/O7vlu1t//v7Zk9VyrV+880309lnn50aGhpSdXV1GjFiRDrzzDPT888/n+tw+qxS/+54rxzxUZVSSuU7rwIA0F2fueYDANgziA8AICvxAQBkJT4AgKzEBwCQlfgAALISHwBAVuIDAMhKfAAAWYkPACAr8QEAZPX/AEcZxtyoFDu3AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "\n", + "n_nums = 1000\n", + "n_rows = 100000\n", + "# Creating a large DataFrame with thousands of rows\n", + "np.random.seed(0) # Seed for reproducibility\n", + "df = pd.DataFrame({\n", + " 'foo': np.random.choice(n_nums, n_rows), # 1000 unique values repeated over 10000 rows\n", + " 'bar': np.random.rand(n_rows),\n", + " 'baz': np.random.choice(['bonjour','merci','bon nuit', 'enchante'], n_rows),\n", + " 'fruit': np.random.choice(['fraise','banana','orange', 'raisin'], n_rows)\n", + "})\n", + "# display(df)\n", + "\n", + "n_iterations = 50\n", + "improved_times = []\n", + "for i in range(n_iterations):\n", + " # print(i)\n", + " selected_number = np.random.choice(n_nums)\n", + " # Original method: filtering without setting an index\n", + " time0 = time.time()\n", + " df1 = df[df.foo == selected_number]\n", + " # display(df1)\n", + " time1 = time.time()\n", + "\n", + " # Improved method: setting 'foo' as index and then using .loc[]\n", + " df2 = df.set_index('foo').loc[selected_number]\n", + " # display(df2.reset_index(drop=True))\n", + " time2 = time.time()\n", + "\n", + " # Times\n", + " elapsed_time_1 = time1 - time0 # 기존 방법의 소요시간\n", + " elapsed_time_2 = time2 - time1 # 새 방법의 소요시간\n", + " improved_time = elapsed_time_2 - elapsed_time_1 # 이 값이 작을수록 개선된다.\n", + " \n", + " improved_times.append(improved_time)\n", + "# print(improved_times)\n", + "plt.hist(improved_times)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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SF+4Z4eIiIhkjWGHiIiIZI1hh4iIiGSN5+yQ3k3Cd7CDJTJgh6mYbOhyiIhI5hh2SO8GYhM8kYYkeDDsEBGRzvEwFhEREckaww4RERHJGsMOERERyRrDDhEREckaww4RERHJGsMOERERyRrDDhEREckaww4RERHJGm8qSHp3AIGoABXuoIKhSyEionKAYYf0rjemAwg0dBlERFRO8DAWERERyRrDDhEREckaww4RERHJGs/ZIb2LxmC44hFS4YpW2GfocoiISOYYdkjvqiERnkiDHTIMXQoREZUDPIxFREREssawQ0RERLLGsENERESyxrBDREREssawQ0RERLLGsENERESyxrBDREREssawQ0RERLLGmwqS3k3FQFjDEVmwNnQpRERUDjDskN59j84AAg1dBhERlRM8jEVERESyxrBDREREssbDWKR3brgNYyShAMZIgbuhyyEiIplj2CG9O4G+8EQakuABLyQZuhwiIpI5HsYiIiIiWWPYISIiIllj2CEiIiJZY9ghIiIiWWPYISIiIllj2CEiIiJZY9ghIiIiWWPYISIiIllj2CEiIiJZ4x2USe9aYSlMUB35fPsREZEe8NOG9O4ifAHUNHQZRERUTvAwFhEREckaww4RERHJGg9jkd71xA5Y4hQewRK/4kNDl0NERDLHsEN6NxvfwhNpSIIHww4REekcD2MRERGRrDHsEBERkawx7BAREZGsGTTszJgxAw0aNICNjQ1cXFzQqVMnJCQkqPXJzs7GsGHD4OTkBGtra3Tp0gWpqalqfRITE9G+fXtYWlrCxcUFY8aMQX5+vj6nQkRERGWUQcPOgQMHMGzYMPz555/Ys2cP8vLy0Lp1azx8+FDqM2rUKPz+++9Yv349Dhw4gFu3bqFz587S8oKCArRv3x65ubk4evQoVqxYgeXLl2PSpEmGmBIRERGVMQohhDB0EYVu374NFxcXHDhwAG+99RYyMjLg7OyMX375BV27dgUAXLhwAf7+/oiNjcWbb76JHTt2oEOHDrh16xZcXV0BAJGRkfj8889x+/ZtKJXKFz5vZmYm7OzskJGRAVtbW53OsTw7deoUgoKCcAMu0tVYXkjSxsgAghAXF4fAwEAtjEdERK+D0n5+l6lzdjIyMgAAjo6OAIC4uDjk5eUhJCRE6lOjRg14e3sjNjYWABAbG4vatWtLQQcAQkND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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "\n", + "n_nums = 1000\n", + "n_rows = 100000\n", + "# Creating a large DataFrame with thousands of rows\n", + "np.random.seed(0) # Seed for reproducibility\n", + "df = pd.DataFrame({\n", + " 'foo': np.random.choice(n_nums, n_rows), # 1000 unique values repeated over 100000 rows\n", + " 'bar': np.random.rand(n_rows),\n", + " 'baz': np.random.choice(['bonjour','merci','bon nuit', 'enchante'], n_rows),\n", + " 'fruit': np.random.choice(['fraise','banana','orange', 'raisin'], n_rows)\n", + "})\n", + "\n", + "# Set 'foo' as index once before the loop\n", + "df.set_index('foo', inplace=True)\n", + "\n", + "n_iterations = 1000\n", + "improved_times = []\n", + "for i in range(n_iterations):\n", + " selected_number = np.random.choice(n_nums)\n", + "\n", + " # Original method: filtering without setting an index\n", + " # Since we have already set the index, we need to reset it without inplace modification\n", + " df_reset = df.reset_index()\n", + " time0 = time.time()\n", + " df1 = df_reset[df_reset.foo == selected_number]\n", + " time1 = time.time()\n", + "\n", + " # Improved method: using .loc[] with 'foo' already set as index\n", + " time2 = time.time()\n", + " df2 = df.loc[selected_number]\n", + " time3 = time.time()\n", + "\n", + " # Times\n", + " elapsed_time_1 = time1 - time0 # Original method time\n", + " elapsed_time_2 = time3 - time2 # Improved method time\n", + " improved_time = elapsed_time_1 - elapsed_time_2 # The lower this value, the better the improvement\n", + " \n", + " improved_times.append(improved_time)\n", + "\n", + "# Plotting the histogram of improved times\n", + "plt.hist(improved_times, bins=20, color='blue', edgecolor='black')\n", + "plt.axvline(x=0, color='red', linestyle='dashed', linewidth=2) # Add a vertical line at x=0 for reference\n", + "plt.xlabel('Improvement Time (s)')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Performance Improvement using set_index')\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.0010004043579101562, 0.0010085105895996094, False)" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Let's create a new MWE where `set_index` and using `.loc[]` shows better performance compared to the basic slicing method.\n", + "\n", + "# Seed for reproducibility\n", + "np.random.seed(0)\n", + "\n", + "# Constants for the DataFrame\n", + "n_nums = 10 # Reduce the number of unique values to increase the likelihood of matches and make the index more effective\n", + "n_rows = 100000\n", + "\n", + "# Create a large DataFrame with thousands of rows\n", + "df = pd.DataFrame({\n", + " 'foo': np.random.choice(n_nums, n_rows), # 10 unique values repeated over 100000 rows\n", + " 'bar': np.random.rand(n_rows),\n", + "})\n", + "\n", + "# Original method: Measure the time taken for filtering without setting an index\n", + "time0 = time.time()\n", + "df1 = df[df.foo == 5] # Choose a number that is guaranteed to be in 'foo'\n", + "time1 = time.time()\n", + "original_time = time1 - time0\n", + "\n", + "# Improved method: Set 'foo' as index and measure the time taken for filtering using .loc[]\n", + "df.set_index('foo', inplace=True)\n", + "time2 = time.time()\n", + "df2 = df.loc[5] # Using .loc[] on the indexed DataFrame\n", + "time3 = time.time()\n", + "improved_time = time3 - time2\n", + "\n", + "# Results\n", + "original_time, improved_time, original_time > improved_time\n" ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{(175, 0, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (3, 4): 4, (4, 4): 5},\n", - " (175, 7, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (3, 4): 4, (4, 4): 5},\n", - " (175, 9, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (3, 4): 4, (4, 4): 5},\n", - " (175, 18, 30): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (3, 4): 4, (4, 4): 5},\n", - " (176, 0, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3},\n", - " (176, 7, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3},\n", - " (176, 9, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3},\n", - " (176, 18, 30): {(1, 1): 1, (2, 2): 2, (3, 3): 3},\n", - " (177, 0, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (177, 7, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (177, 9, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (177, 18, 30): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (178, 0, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (178, 7, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 3): 4, (4, 4): 5},\n", - " (178, 9, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 3): 4, (4, 4): 5},\n", - " (178, 18, 30): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 3): 4, (4, 4): 5},\n", - " (201, 0, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4, (5, 5): 5},\n", - " (201, 7, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4, (5, 5): 5},\n", - " (201, 9, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4, (5, 5): 5},\n", - " (201, 18, 30): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4, (5, 5): 5},\n", - " (202, 0, 0): {(1, 1): 1, (2, 2): 2},\n", - " (202, 7, 0): {(1, 1): 1, (2, 2): 2},\n", - " (202, 9, 0): {(1, 1): 1, (2, 2): 2},\n", - " (202, 18, 30): {(1, 1): 1, (2, 2): 2},\n", - " (206, 0, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (206, 7, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (206, 9, 0): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (206, 18, 30): {(1, 1): 1, (2, 2): 2, (3, 3): 3, (4, 4): 4},\n", - " (210, 0, 0): {(1, 1): 1, (1, 2): 2, (2, 2): 3, (3, 3): 4, (4, 4): 5},\n", - " (210, 7, 0): {(1, 1): 1, (1, 2): 2, (2, 2): 3, (3, 3): 4, (4, 4): 5},\n", - " (210, 9, 0): {(1, 1): 1, (1, 2): 2, (2, 2): 3, (3, 3): 4, (4, 4): 5},\n", - " (210, 18, 30): {(1, 1): 1, (1, 2): 2, (2, 2): 3, (3, 3): 4, (4, 4): 5}}" + "(0.06691646575927734, 0.08325934410095215, False)" ] }, - "execution_count": 49, + "execution_count": 124, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "self.splits" + "# To make the operations take longer, we can increase the size of the data and the complexity of the operation.\n", + "\n", + "# Constants for the DataFrame\n", + "n_nums = 10\n", + "n_rows = 10000000 # Increase the number of rows to 10 million\n", + "\n", + "# Create a large DataFrame with millions of rows\n", + "df = pd.DataFrame({\n", + " 'foo': np.random.choice(n_nums, n_rows), # 10 unique values repeated over 10 million rows\n", + " 'bar': np.random.rand(n_rows),\n", + "})\n", + "\n", + "# Measure the time for the original method without setting an index\n", + "time0 = time.time()\n", + "df1 = df[df.foo == 5]\n", + "time1 = time.time()\n", + "original_time = time1 - time0\n", + "\n", + "# Measure the time for the improved method using set_index and .loc[]\n", + "df_indexed = df.set_index('foo')\n", + "time2 = time.time()\n", + "df2 = df_indexed.loc[5]\n", + "time3 = time.time()\n", + "improved_time = time3 - time2\n", + "\n", + "# Results\n", + "original_time, improved_time, original_time > improved_time\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "기본 슬라이싱 시간: 0.003000초\n", + "set_index 및 .loc[] 사용 시간: 0.007908초\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import time\n", + "\n", + "# 데이터 생성\n", + "n = 1000000 # 데이터 포인트 수\n", + "df = pd.DataFrame({\n", + " 'foo': np.random.randint(0, 1000, size=n), # 0에서 999 사이의 임의의 정수\n", + " 'bar': np.random.rand(n) # 0과 1 사이의 임의의 부동 소수점 수\n", + "})\n", + "\n", + "selected_number = 500 # 선택할 값\n", + "\n", + "# 기본 슬라이싱\n", + "start_time = time.time()\n", + "df1 = df[df.foo == selected_number]\n", + "basic_slicing_time = time.time() - start_time\n", + "\n", + "# set_index 및 .loc[] 사용\n", + "start_time = time.time()\n", + "df.set_index('foo', inplace=True)\n", + "df2 = df.loc[selected_number]\n", + "set_index_time = time.time() - start_time\n", + "\n", + "# 성능 비교\n", + "print(f\"기본 슬라이싱 시간: {basic_slicing_time:.6f}초\")\n", + "print(f\"set_index 및 .loc[] 사용 시간: {set_index_time:.6f}초\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1. 데이터를 준비합니다.\n", + "1-1. 네트워크가 로드되었습니다.\n", + "1-2. 테이블들이 로드되었습니다.\n", + "2. 신호이력 테이블을 변환합니다.\n", + "3. 이동류정보 테이블을 변환합니다.\n", + "4. 통합 테이블을 생성합니다.\n", + " node_id start_unix phase_sumo duration state \\\n", + "98 c30 1704436790 0 38 rrrrrr \n", + "99 c30 1704436790 1 39 GGGGGG \n", + "100 c30 1704436790 2 43 GGGGGG \n", + "101 c30 1704436790 3 50 GGGGGG \n", + "164 c30 1704436960 0 38 rrrrrr \n", + "165 c30 1704436960 1 39 GGGGGG \n", + "166 c30 1704436960 2 43 GGGGGG \n", + "167 c30 1704436960 3 50 GGGGGG \n", + "228 c30 1704437130 0 38 rrrrrr \n", + "229 c30 1704437130 1 39 GGGGGG \n", + "230 c30 1704437130 2 43 GGGGGG \n", + "231 c30 1704437130 3 50 GGGGGG \n", + "280 c30 1704437300 0 38 rrrrrr \n", + "281 c30 1704437300 1 39 GGGGGG \n", + "282 c30 1704437300 2 43 GGGGGG \n", + "283 c30 1704437300 3 50 GGGGGG \n", + "65 i0 1704436701 0 43 gGGrgrrrgGGGGrgrr \n", + "66 i0 1704436701 1 45 grrGgrrrgrrrrGgrr \n", + "67 i0 1704436701 2 56 grrrgGGGgrrrrrgrr \n", + "68 i0 1704436701 3 0 grrrgGGrgrrrrrgGr \n", + "69 i0 1704436701 4 37 grrrgrrrgrrrrrgGG \n", + "124 i0 1704436880 0 43 gGGrgrrrgGGGGrgrr \n", + "125 i0 1704436880 1 45 grrGgrrrgrrrrGgrr \n", + "126 i0 1704436880 2 54 grrrgGGGgrrrrrgrr \n", + "127 i0 1704436880 3 0 grrrgGGrgrrrrrgGr \n", + "128 i0 1704436880 4 37 grrrgrrrgrrrrrgGG \n", + "191 i0 1704437060 0 43 gGGrgrrrgGGGGrgrr \n", + "192 i0 1704437060 1 45 grrGgrrrgrrrrGgrr \n", + "193 i0 1704437060 2 55 grrrgGGGgrrrrrgrr \n", + "194 i0 1704437060 3 0 grrrgGGrgrrrrrgGr \n", + "195 i0 1704437060 4 37 grrrgrrrgrrrrrgGG \n", + "62 i1 1704436700 0 37 gGGGGGrgrr \n", + "63 i1 1704436700 1 102 grrGGGGgrr \n", + "64 i1 1704436700 2 40 grrrrrrgGG \n", + "129 i1 1704436880 0 37 gGGGGGrgrr \n", + "130 i1 1704436880 1 103 grrGGGGgrr \n", + "131 i1 1704436880 2 40 grrrrrrgGG \n", + "196 i1 1704437060 0 37 gGGGGGrgrr \n", + "197 i1 1704437060 1 103 grrGGGGgrr \n", + "198 i1 1704437060 2 40 grrrrrrgGG \n", + "258 i1 1704437240 0 37 gGGGGGrgrr \n", + "259 i1 1704437240 1 103 grrGGGGgrr \n", + "260 i1 1704437240 2 40 grrrrrrgGG \n", + "75 i2 1704436709 0 43 GGggGGG \n", + "76 i2 1704436709 1 27 rrggrrr \n", + "77 i2 1704436709 2 69 rrggrrr \n", + "78 i2 1704436709 3 40 rrggGGG \n", + "142 i2 1704436890 0 43 GGggGGG \n", + "143 i2 1704436890 1 27 rrggrrr \n", + "144 i2 1704436890 2 71 rrggrrr \n", + "145 i2 1704436890 3 40 rrggGGG \n", + "204 i2 1704437070 0 43 GGggGGG \n", + "205 i2 1704437070 1 27 rrggrrr \n", + "206 i2 1704437070 2 70 rrggrrr \n", + "207 i2 1704437070 3 40 rrggGGG \n", + "266 i2 1704437250 0 43 GGggGGG \n", + "267 i2 1704437250 1 27 rrggrrr \n", + "268 i2 1704437250 2 70 rrggrrr \n", + "269 i2 1704437250 3 40 rrggGGG \n", + "102 i3 1704436790 0 38 gGGGrgrrrrgGGGrgrrrr \n", + "103 i3 1704436790 1 39 grrrGgrrrrgrrrGgrrrr \n", + "104 i3 1704436790 2 43 grrrrgrrrrgrrrrgGGGG \n", + "105 i3 1704436790 3 50 grrrrgGGGGgrrrrgrrrr \n", + "168 i3 1704436960 0 38 gGGGrgrrrrgGGGrgrrrr \n", + "169 i3 1704436960 1 39 grrrGgrrrrgrrrGgrrrr \n", + "170 i3 1704436960 2 43 grrrrgrrrrgrrrrgGGGG \n", + "171 i3 1704436960 3 50 grrrrgGGGGgrrrrgrrrr \n", + "232 i3 1704437130 0 38 gGGGrgrrrrgGGGrgrrrr \n", + "233 i3 1704437130 1 39 grrrGgrrrrgrrrGgrrrr \n", + "234 i3 1704437130 2 43 grrrrgrrrrgrrrrgGGGG \n", + "235 i3 1704437130 3 50 grrrrgGGGGgrrrrgrrrr \n", + "284 i3 1704437300 0 38 gGGGrgrrrrgGGGrgrrrr \n", + "285 i3 1704437300 1 39 grrrGgrrrrgrrrGgrrrr \n", + "286 i3 1704437300 2 43 grrrrgrrrrgrrrrgGGGG \n", + "287 i3 1704437300 3 50 grrrrgGGGGgrrrrgrrrr \n", + "88 i6 1704436760 0 43 grrrgGGGrgrrgrrr \n", + "89 i6 1704436760 1 0 grrrgGGGrgrrgGGr \n", + "90 i6 1704436760 2 43 grrrgrrrrgrrgGGG \n", + "91 i6 1704436760 3 70 gGGGgrrrrgrrgrrr \n", + "92 i6 1704436760 4 24 grrrgrrrrgGGgrrr \n", + "150 i6 1704436940 0 43 grrrgGGGrgrrgrrr \n", + "151 i6 1704436940 1 0 grrrgGGGrgrrgGGr \n", + "152 i6 1704436940 2 43 grrrgrrrrgrrgGGG \n", + "153 i6 1704436940 3 70 gGGGgrrrrgrrgrrr \n", + "154 i6 1704436940 4 24 grrrgrrrrgGGgrrr \n", + "216 i6 1704437120 0 43 grrrgGGGrgrrgrrr \n", + "217 i6 1704437120 1 0 grrrgGGGrgrrgGGr \n", + "218 i6 1704437120 2 43 grrrgrrrrgrrgGGG \n", + "219 i6 1704437120 3 70 gGGGgrrrrgrrgrrr \n", + "220 i6 1704437120 4 24 grrrgrrrrgGGgrrr \n", + "288 i6 1704437300 0 43 grrrgGGGrgrrgrrr \n", + "289 i6 1704437300 1 0 grrrgGGGrgrrgGGr \n", + "290 i6 1704437300 2 43 grrrgrrrrgrrgGGG \n", + "291 i6 1704437300 3 70 gGGGgrrrrgrrgrrr \n", + "292 i6 1704437300 4 24 grrrgrrrrgGGgrrr \n", + "58 i7 1704436650 0 45 GGrggGG \n", + "59 i7 1704436650 1 53 rrrggrr \n", + "60 i7 1704436650 2 26 GGrggGG \n", + "61 i7 1704436650 3 26 rrrggrr \n", + "118 i7 1704436800 0 45 GGrggGG \n", + "119 i7 1704436800 1 53 rrrggrr \n", + "120 i7 1704436800 2 26 GGrggGG \n", + "121 i7 1704436800 3 26 rrrggrr \n", + "160 i7 1704436950 0 45 GGrggGG \n", + "161 i7 1704436950 1 53 rrrggrr \n", + "162 i7 1704436950 2 26 GGrggGG \n", + "163 i7 1704436950 3 26 rrrggrr \n", + "212 i7 1704437100 0 45 GGrggGG \n", + "213 i7 1704437100 1 53 rrrggrr \n", + "214 i7 1704437100 2 26 GGrggGG \n", + "215 i7 1704437100 3 26 rrrggrr \n", + "83 i8 1704436710 0 33 grrrrrrrgGGGgrrr \n", + "84 i8 1704436710 1 36 grrrrrrrgrrrgGGG \n", + "85 i8 1704436710 2 25 grrrGGGrgrrrgGGr \n", + "86 i8 1704436710 3 58 grrrGGGGgrrrgrrr \n", + "87 i8 1704436710 4 18 gGGGrrrrgrrrgrrr \n", + "132 i8 1704436880 0 33 grrrrrrrgGGGgrrr \n", + "133 i8 1704436880 1 36 grrrrrrrgrrrgGGG \n", + "134 i8 1704436880 2 25 grrrGGGrgrrrgGGr \n", + "135 i8 1704436880 3 58 grrrGGGGgrrrgrrr \n", + "136 i8 1704436880 4 18 gGGGrrrrgrrrgrrr \n", + "186 i8 1704437050 0 33 grrrrrrrgGGGgrrr \n", + "187 i8 1704437050 1 36 grrrrrrrgrrrgGGG \n", + "188 i8 1704437050 2 25 grrrGGGrgrrrgGGr \n", + "189 i8 1704437050 3 58 grrrGGGGgrrrgrrr \n", + "190 i8 1704437050 4 18 gGGGrrrrgrrrgrrr \n", + "248 i8 1704437220 0 33 grrrrrrrgGGGgrrr \n", + "249 i8 1704437220 1 36 grrrrrrrgrrrgGGG \n", + "250 i8 1704437220 2 25 grrrGGGrgrrrgGGr \n", + "251 i8 1704437220 3 58 grrrGGGGgrrrgrrr \n", + "252 i8 1704437220 4 18 gGGGrrrrgrrrgrrr \n", + "56 i9 1704436640 0 46 GGGG \n", + "57 i9 1704436640 1 115 rrrr \n", + "122 i9 1704436800 0 46 GGGG \n", + "123 i9 1704436800 1 114 rrrr \n", + "172 i9 1704436960 0 46 GGGG \n", + "173 i9 1704436960 1 114 rrrr \n", + "221 i9 1704437120 0 46 GGGG \n", + "222 i9 1704437120 1 114 rrrr \n", + "70 u00 1704436701 0 43 ggggrgggg \n", + "71 u00 1704436701 1 45 ggggGgggg \n", + "72 u00 1704436701 2 56 ggggrgggg \n", + "73 u00 1704436701 3 0 ggggrgggg \n", + "74 u00 1704436701 4 37 ggggrgggg \n", + "137 u00 1704436880 0 43 ggggrgggg \n", + "138 u00 1704436880 1 45 ggggGgggg \n", + "139 u00 1704436880 2 54 ggggrgggg \n", + "140 u00 1704436880 3 0 ggggrgggg \n", + "141 u00 1704436880 4 37 ggggrgggg \n", + "199 u00 1704437060 0 43 ggggrgggg \n", + "200 u00 1704437060 1 45 ggggGgggg \n", + "201 u00 1704437060 2 55 ggggrgggg \n", + "202 u00 1704437060 3 0 ggggrgggg \n", + "203 u00 1704437060 4 37 ggggrgggg \n", + "79 u20 1704436709 0 43 ggrggg \n", + "80 u20 1704436709 1 27 ggrggg \n", + "81 u20 1704436709 2 69 ggGggg \n", + "82 u20 1704436709 3 40 ggrggg \n", + "146 u20 1704436890 0 43 ggrggg \n", + "147 u20 1704436890 1 27 ggrggg \n", + "148 u20 1704436890 2 71 ggGggg \n", + "149 u20 1704436890 3 40 ggrggg \n", + "208 u20 1704437070 0 43 ggrggg \n", + "209 u20 1704437070 1 27 ggrggg \n", + "210 u20 1704437070 2 70 ggGggg \n", + "211 u20 1704437070 3 40 ggrggg \n", + "274 u20 1704437250 0 43 ggrggg \n", + "275 u20 1704437250 1 27 ggrggg \n", + "276 u20 1704437250 2 70 ggGggg \n", + "277 u20 1704437250 3 40 ggrggg \n", + "106 u30 1704436790 0 38 ggggrggg \n", + "107 u30 1704436790 1 39 ggggrggg \n", + "108 u30 1704436790 2 43 ggggrggg \n", + "109 u30 1704436790 3 50 ggggGggg \n", + "174 u30 1704436960 0 38 ggggrggg \n", + "175 u30 1704436960 1 39 ggggrggg \n", + "176 u30 1704436960 2 43 ggggrggg \n", + "177 u30 1704436960 3 50 ggggGggg \n", + "236 u30 1704437130 0 38 ggggrggg \n", + "237 u30 1704437130 1 39 ggggrggg \n", + "238 u30 1704437130 2 43 ggggrggg \n", + "239 u30 1704437130 3 50 ggggGggg \n", + "293 u30 1704437300 0 38 ggggrggg \n", + "294 u30 1704437300 1 39 ggggrggg \n", + "295 u30 1704437300 2 43 ggggrggg \n", + "296 u30 1704437300 3 50 ggggGggg \n", + "110 u31 1704436790 0 38 ggggGggg \n", + "111 u31 1704436790 1 39 ggggrggg \n", + "112 u31 1704436790 2 43 ggggrggg \n", + "113 u31 1704436790 3 50 ggggrggg \n", + "178 u31 1704436960 0 38 ggggGggg \n", + "179 u31 1704436960 1 39 ggggrggg \n", + "180 u31 1704436960 2 43 ggggrggg \n", + "181 u31 1704436960 3 50 ggggrggg \n", + "240 u31 1704437130 0 38 ggggGggg \n", + "241 u31 1704437130 1 39 ggggrggg \n", + "242 u31 1704437130 2 43 ggggrggg \n", + "243 u31 1704437130 3 50 ggggrggg \n", + "297 u31 1704437300 0 38 ggggGggg \n", + "298 u31 1704437300 1 39 ggggrggg \n", + "299 u31 1704437300 2 43 ggggrggg \n", + "300 u31 1704437300 3 50 ggggrggg \n", + "114 u32 1704436790 0 38 gggggggG \n", + "115 u32 1704436790 1 39 gggggggr \n", + "116 u32 1704436790 2 43 gggggggr \n", + "117 u32 1704436790 3 50 gggggggr \n", + "182 u32 1704436960 0 38 gggggggG \n", + "183 u32 1704436960 1 39 gggggggr \n", + "184 u32 1704436960 2 43 gggggggr \n", + "185 u32 1704436960 3 50 gggggggr \n", + "244 u32 1704437130 0 38 gggggggG \n", + "245 u32 1704437130 1 39 gggggggr \n", + "246 u32 1704437130 2 43 gggggggr \n", + "247 u32 1704437130 3 50 gggggggr \n", + "301 u32 1704437300 0 38 gggggggG \n", + "302 u32 1704437300 1 39 gggggggr \n", + "303 u32 1704437300 2 43 gggggggr \n", + "304 u32 1704437300 3 50 gggggggr \n", + "93 u60 1704436760 0 43 ggggggggr \n", + "94 u60 1704436760 1 0 ggggggggr \n", + "95 u60 1704436760 2 43 ggggggggG \n", + "96 u60 1704436760 3 70 ggggggggr \n", + "97 u60 1704436760 4 24 ggggggggr \n", + "155 u60 1704436940 0 43 ggggggggr \n", + "156 u60 1704436940 1 0 ggggggggr \n", + "157 u60 1704436940 2 43 ggggggggG \n", + "158 u60 1704436940 3 70 ggggggggr \n", + "159 u60 1704436940 4 24 ggggggggr \n", + "223 u60 1704437120 0 43 ggggggggr \n", + "224 u60 1704437120 1 0 ggggggggr \n", + "225 u60 1704437120 2 43 ggggggggG \n", + "226 u60 1704437120 3 70 ggggggggr \n", + "227 u60 1704437120 4 24 ggggggggr \n", + "305 u60 1704437300 0 43 ggggggggr \n", + "306 u60 1704437300 1 0 ggggggggr \n", + "307 u60 1704437300 2 43 ggggggggG \n", + "308 u60 1704437300 3 70 ggggggggr \n", + "309 u60 1704437300 4 24 ggggggggr \n", + "\n", + " start_dt \n", + "98 2024-01-05 15:39:50 \n", + "99 2024-01-05 15:39:50 \n", + "100 2024-01-05 15:39:50 \n", + "101 2024-01-05 15:39:50 \n", + "164 2024-01-05 15:42:40 \n", + "165 2024-01-05 15:42:40 \n", + "166 2024-01-05 15:42:40 \n", + "167 2024-01-05 15:42:40 \n", + "228 2024-01-05 15:45:30 \n", + "229 2024-01-05 15:45:30 \n", + "230 2024-01-05 15:45:30 \n", + "231 2024-01-05 15:45:30 \n", + "280 2024-01-05 15:48:20 \n", + "281 2024-01-05 15:48:20 \n", + "282 2024-01-05 15:48:20 \n", + "283 2024-01-05 15:48:20 \n", + "65 2024-01-05 15:38:21 \n", + "66 2024-01-05 15:38:21 \n", + "67 2024-01-05 15:38:21 \n", + "68 2024-01-05 15:38:21 \n", + "69 2024-01-05 15:38:21 \n", + "124 2024-01-05 15:41:20 \n", + "125 2024-01-05 15:41:20 \n", + "126 2024-01-05 15:41:20 \n", + "127 2024-01-05 15:41:20 \n", + "128 2024-01-05 15:41:20 \n", + "191 2024-01-05 15:44:20 \n", + "192 2024-01-05 15:44:20 \n", + "193 2024-01-05 15:44:20 \n", + "194 2024-01-05 15:44:20 \n", + "195 2024-01-05 15:44:20 \n", + "62 2024-01-05 15:38:20 \n", + "63 2024-01-05 15:38:20 \n", + "64 2024-01-05 15:38:20 \n", + "129 2024-01-05 15:41:20 \n", + "130 2024-01-05 15:41:20 \n", + "131 2024-01-05 15:41:20 \n", + "196 2024-01-05 15:44:20 \n", + "197 2024-01-05 15:44:20 \n", + "198 2024-01-05 15:44:20 \n", + "258 2024-01-05 15:47:20 \n", + "259 2024-01-05 15:47:20 \n", + "260 2024-01-05 15:47:20 \n", + "75 2024-01-05 15:38:29 \n", + "76 2024-01-05 15:38:29 \n", + "77 2024-01-05 15:38:29 \n", + "78 2024-01-05 15:38:29 \n", + "142 2024-01-05 15:41:30 \n", + "143 2024-01-05 15:41:30 \n", + "144 2024-01-05 15:41:30 \n", + "145 2024-01-05 15:41:30 \n", + "204 2024-01-05 15:44:30 \n", + "205 2024-01-05 15:44:30 \n", + "206 2024-01-05 15:44:30 \n", + "207 2024-01-05 15:44:30 \n", + "266 2024-01-05 15:47:30 \n", + "267 2024-01-05 15:47:30 \n", + "268 2024-01-05 15:47:30 \n", + "269 2024-01-05 15:47:30 \n", + "102 2024-01-05 15:39:50 \n", + "103 2024-01-05 15:39:50 \n", + "104 2024-01-05 15:39:50 \n", + "105 2024-01-05 15:39:50 \n", + "168 2024-01-05 15:42:40 \n", + "169 2024-01-05 15:42:40 \n", + "170 2024-01-05 15:42:40 \n", + "171 2024-01-05 15:42:40 \n", + "232 2024-01-05 15:45:30 \n", + "233 2024-01-05 15:45:30 \n", + "234 2024-01-05 15:45:30 \n", + "235 2024-01-05 15:45:30 \n", + "284 2024-01-05 15:48:20 \n", + "285 2024-01-05 15:48:20 \n", + "286 2024-01-05 15:48:20 \n", + "287 2024-01-05 15:48:20 \n", + "88 2024-01-05 15:39:20 \n", + "89 2024-01-05 15:39:20 \n", + "90 2024-01-05 15:39:20 \n", + "91 2024-01-05 15:39:20 \n", + "92 2024-01-05 15:39:20 \n", + "150 2024-01-05 15:42:20 \n", + "151 2024-01-05 15:42:20 \n", + "152 2024-01-05 15:42:20 \n", + "153 2024-01-05 15:42:20 \n", + "154 2024-01-05 15:42:20 \n", + "216 2024-01-05 15:45:20 \n", + "217 2024-01-05 15:45:20 \n", + "218 2024-01-05 15:45:20 \n", + "219 2024-01-05 15:45:20 \n", + "220 2024-01-05 15:45:20 \n", + "288 2024-01-05 15:48:20 \n", + "289 2024-01-05 15:48:20 \n", + "290 2024-01-05 15:48:20 \n", + "291 2024-01-05 15:48:20 \n", + "292 2024-01-05 15:48:20 \n", + "58 2024-01-05 15:37:30 \n", + "59 2024-01-05 15:37:30 \n", + "60 2024-01-05 15:37:30 \n", + "61 2024-01-05 15:37:30 \n", + "118 2024-01-05 15:40:00 \n", + "119 2024-01-05 15:40:00 \n", + "120 2024-01-05 15:40:00 \n", + "121 2024-01-05 15:40:00 \n", + "160 2024-01-05 15:42:30 \n", + "161 2024-01-05 15:42:30 \n", + "162 2024-01-05 15:42:30 \n", + "163 2024-01-05 15:42:30 \n", + "212 2024-01-05 15:45:00 \n", + "213 2024-01-05 15:45:00 \n", + "214 2024-01-05 15:45:00 \n", + "215 2024-01-05 15:45:00 \n", + "83 2024-01-05 15:38:30 \n", + "84 2024-01-05 15:38:30 \n", + "85 2024-01-05 15:38:30 \n", + "86 2024-01-05 15:38:30 \n", + "87 2024-01-05 15:38:30 \n", + "132 2024-01-05 15:41:20 \n", + "133 2024-01-05 15:41:20 \n", + "134 2024-01-05 15:41:20 \n", + "135 2024-01-05 15:41:20 \n", + "136 2024-01-05 15:41:20 \n", + "186 2024-01-05 15:44:10 \n", + "187 2024-01-05 15:44:10 \n", + "188 2024-01-05 15:44:10 \n", + "189 2024-01-05 15:44:10 \n", + "190 2024-01-05 15:44:10 \n", + "248 2024-01-05 15:47:00 \n", + "249 2024-01-05 15:47:00 \n", + "250 2024-01-05 15:47:00 \n", + "251 2024-01-05 15:47:00 \n", + "252 2024-01-05 15:47:00 \n", + "56 2024-01-05 15:37:20 \n", + "57 2024-01-05 15:37:20 \n", + "122 2024-01-05 15:40:00 \n", + "123 2024-01-05 15:40:00 \n", + "172 2024-01-05 15:42:40 \n", + "173 2024-01-05 15:42:40 \n", + "221 2024-01-05 15:45:20 \n", + "222 2024-01-05 15:45:20 \n", + "70 2024-01-05 15:38:21 \n", + "71 2024-01-05 15:38:21 \n", + "72 2024-01-05 15:38:21 \n", + "73 2024-01-05 15:38:21 \n", + "74 2024-01-05 15:38:21 \n", + "137 2024-01-05 15:41:20 \n", + "138 2024-01-05 15:41:20 \n", + "139 2024-01-05 15:41:20 \n", + "140 2024-01-05 15:41:20 \n", + "141 2024-01-05 15:41:20 \n", + "199 2024-01-05 15:44:20 \n", + "200 2024-01-05 15:44:20 \n", + "201 2024-01-05 15:44:20 \n", + "202 2024-01-05 15:44:20 \n", + "203 2024-01-05 15:44:20 \n", + "79 2024-01-05 15:38:29 \n", + "80 2024-01-05 15:38:29 \n", + "81 2024-01-05 15:38:29 \n", + "82 2024-01-05 15:38:29 \n", + "146 2024-01-05 15:41:30 \n", + "147 2024-01-05 15:41:30 \n", + "148 2024-01-05 15:41:30 \n", + "149 2024-01-05 15:41:30 \n", + "208 2024-01-05 15:44:30 \n", + "209 2024-01-05 15:44:30 \n", + "210 2024-01-05 15:44:30 \n", + "211 2024-01-05 15:44:30 \n", + "274 2024-01-05 15:47:30 \n", + "275 2024-01-05 15:47:30 \n", + "276 2024-01-05 15:47:30 \n", + "277 2024-01-05 15:47:30 \n", + "106 2024-01-05 15:39:50 \n", + "107 2024-01-05 15:39:50 \n", + "108 2024-01-05 15:39:50 \n", + "109 2024-01-05 15:39:50 \n", + "174 2024-01-05 15:42:40 \n", + "175 2024-01-05 15:42:40 \n", + "176 2024-01-05 15:42:40 \n", + "177 2024-01-05 15:42:40 \n", + "236 2024-01-05 15:45:30 \n", + "237 2024-01-05 15:45:30 \n", + "238 2024-01-05 15:45:30 \n", + "239 2024-01-05 15:45:30 \n", + "293 2024-01-05 15:48:20 \n", + "294 2024-01-05 15:48:20 \n", + "295 2024-01-05 15:48:20 \n", + "296 2024-01-05 15:48:20 \n", + "110 2024-01-05 15:39:50 \n", + "111 2024-01-05 15:39:50 \n", + "112 2024-01-05 15:39:50 \n", + "113 2024-01-05 15:39:50 \n", + "178 2024-01-05 15:42:40 \n", + "179 2024-01-05 15:42:40 \n", + "180 2024-01-05 15:42:40 \n", + "181 2024-01-05 15:42:40 \n", + "240 2024-01-05 15:45:30 \n", + "241 2024-01-05 15:45:30 \n", + "242 2024-01-05 15:45:30 \n", + "243 2024-01-05 15:45:30 \n", + "297 2024-01-05 15:48:20 \n", + "298 2024-01-05 15:48:20 \n", + "299 2024-01-05 15:48:20 \n", + "300 2024-01-05 15:48:20 \n", + "114 2024-01-05 15:39:50 \n", + "115 2024-01-05 15:39:50 \n", + "116 2024-01-05 15:39:50 \n", + "117 2024-01-05 15:39:50 \n", + "182 2024-01-05 15:42:40 \n", + "183 2024-01-05 15:42:40 \n", + "184 2024-01-05 15:42:40 \n", + "185 2024-01-05 15:42:40 \n", + "244 2024-01-05 15:45:30 \n", + "245 2024-01-05 15:45:30 \n", + "246 2024-01-05 15:45:30 \n", + "247 2024-01-05 15:45:30 \n", + "301 2024-01-05 15:48:20 \n", + "302 2024-01-05 15:48:20 \n", + "303 2024-01-05 15:48:20 \n", + "304 2024-01-05 15:48:20 \n", + "93 2024-01-05 15:39:20 \n", + "94 2024-01-05 15:39:20 \n", + "95 2024-01-05 15:39:20 \n", + "96 2024-01-05 15:39:20 \n", + "97 2024-01-05 15:39:20 \n", + "155 2024-01-05 15:42:20 \n", + "156 2024-01-05 15:42:20 \n", + "157 2024-01-05 15:42:20 \n", + "158 2024-01-05 15:42:20 \n", + "159 2024-01-05 15:42:20 \n", + "223 2024-01-05 15:45:20 \n", + "224 2024-01-05 15:45:20 \n", + "225 2024-01-05 15:45:20 \n", + "226 2024-01-05 15:45:20 \n", + "227 2024-01-05 15:45:20 \n", + "305 2024-01-05 15:48:20 \n", + "306 2024-01-05 15:48:20 \n", + "307 2024-01-05 15:48:20 \n", + "308 2024-01-05 15:48:20 \n", + "309 2024-01-05 15:48:20 \n" + ] + } + ], + "source": [ + "from generate_signals import SignalGenerator\n", + "self = SignalGenerator()\n", + "\n", + "self.prepare_data()\n", + "self.process_history()\n", + "self.process_movement()\n", + "self.make_histids()\n", + "\n", + "self.initialize_states()\n", + "self.assign_signals()\n", + "self.set_timepoints()\n", + "\n", + "with pd.option_context('display.max_rows', None, 'display.max_columns', None):\n", + " print(self.Sigtable)" + ] + }, + { + "cell_type": "code", + "execution_count": 184, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " node_id start_unix phase_sumo duration state start_dt\n", + "0 True True True True True True\n", + "1 True True True True True True\n", + "2 True True False False False True\n", + "3 True True False False False True\n", + "4 True True True True True True\n", + ".. ... ... ... ... ... ...\n", + "679 True True False False True True\n", + "680 True True False False True True\n", + "681 True True True True True True\n", + "682 True True False False True True\n", + "683 True True False False True True\n", + "\n", + "[684 rows x 6 columns]\n" + ] + } + ], + "source": [ + "self.SIGTABLE = []\n", + "for _, group in self.Sigtable.groupby('node_id'):\n", + " new_rows_list = []\n", + " for i in range(1, len(group)):\n", + " prev_row = group.iloc[i-1:i].copy()\n", + " next_row = group.iloc[i:i+1].copy()\n", + " new_rows = pd.concat([prev_row, prev_row, next_row]).reset_index(drop=True)\n", + " new_rows.loc[0, 'phase_sumo'] = str(prev_row.phase_sumo.iloc[0]) + '_g'\n", + " new_rows.loc[0, 'duration'] = new_rows.loc[0, 'duration'] - 5\n", + " new_rows.loc[1, 'phase_sumo'] = str(prev_row.phase_sumo.iloc[0]) + '_y'\n", + " new_rows.loc[1, 'duration'] = 4\n", + " yellow_state = ''\n", + " red_state = ''\n", + " for a, b in zip(prev_row.state.iloc[0], next_row.state.iloc[0]):\n", + " if a == 'G' and b == 'r':\n", + " yellow_state += 'y'\n", + " red_state += 'r'\n", + " else:\n", + " yellow_state += a\n", + " red_state += a\n", + " new_rows.loc[2, 'phase_sumo'] = str(next_row.phase_sumo.iloc[0]) + '__r'\n", + " new_rows.loc[2, 'duration'] = 1\n", + " new_rows.loc[1, 'state'] = yellow_state\n", + " new_rows.loc[2, 'state'] = red_state\n", + " new_rows_list.append(new_rows)\n", + " next_row['phase_sumo'] = str(next_row.phase_sumo.iloc[0]) + '_g'\n", + " next_row['duration'] -= 5\n", + " new_rows_list.append(next_row)\n", + " new_rows = pd.concat(new_rows_list)\n", + " self.SIGTABLE.append(new_rows)\n", + "self.SIGTABLE = pd.concat(self.SIGTABLE).sort_values(by=['node_id', 'start_unix', 'phase_sumo']).reset_index(drop=True)\n", + "df1 = self.SIGTABLE\n", + "\n", + "import pandas as pd\n", + "\n", + "# 원본 데이터프레임: self.Sigtable\n", + "# 예제에서는 self.Sigtable이 이미 정의되어 있다고 가정합니다.\n", + "\n", + "# 변환 과정을 최적화하기 위해 먼저 필요한 새로운 행을 계산하는 함수를 정의합니다.\n", + "def create_transformed_rows(group):\n", + " transformed_rows = []\n", + " for i in range(1, len(group)):\n", + " prev_row = group.iloc[i-1]\n", + " next_row = group.iloc[i]\n", + "\n", + " # 노란색과 빨간색 상태 계산\n", + " yellow_state = ''.join(['y' if a == 'G' and b == 'r' else a for a, b in zip(prev_row['state'], next_row['state'])])\n", + " red_state = ''.join(['r' if a == 'G' and b == 'r' else a for a, b in zip(prev_row['state'], next_row['state'])])\n", + "\n", + " # 새로운 행들을 생성\n", + " new_rows = [\n", + " {**prev_row, 'phase_sumo': f\"{prev_row['phase_sumo']}_g\", 'duration': prev_row['duration'] - 5},\n", + " {**prev_row, 'phase_sumo': f\"{prev_row['phase_sumo']}_y\", 'duration': 4, 'state': yellow_state},\n", + " {**next_row, 'phase_sumo': f\"{next_row['phase_sumo']}_r\", 'duration': 1, 'state': red_state}\n", + " ]\n", + " transformed_rows.extend(new_rows)\n", + "\n", + " # 마지막 행에 대한 처리\n", + " last_row = group.iloc[-1].copy()\n", + " last_row['phase_sumo'] = f\"{last_row['phase_sumo']}_g\"\n", + " last_row['duration'] -= 5\n", + " transformed_rows.append(last_row)\n", + "\n", + " return pd.DataFrame(transformed_rows)\n", + "\n", + "# 각 그룹별로 변환 함수 적용\n", + "transformed_groups = [create_transformed_rows(group) for _, group in self.Sigtable.groupby('node_id')]\n", + "\n", + "# 변환된 그룹들을 하나의 DataFrame으로 결합\n", + "self.SIGTABLE = pd.concat(transformed_groups).reset_index(drop=True)\n", + "\n", + "# 결과 DataFrame 정렬\n", + "self.SIGTABLE = self.SIGTABLE.sort_values(by=['node_id', 'start_unix', 'phase_sumo']).reset_index(drop=True)\n", + "\n", + "\n", + "df2 = self.SIGTABLE\n", + "\n", + "print(df1==df2)" + ] + }, + { + "cell_type": "code", + "execution_count": 216, + "metadata": {}, + "outputs": [], + "source": [ + "# from generate_signals import SignalGenerator\n", + "# self = SignalGenerator()\n", + "\n", + "# self.prepare_data()\n", + "# self.process_history()\n", + "# self.process_movement()\n", + "# self.merge_dfs()\n", + "\n", + "# with pd.option_context('display.max_rows', None, 'display.max_columns', None):\n", + "# display(self.histid)\n", + "# display(self.match6)\n", + "# print(self.parent_ids)\n", + "# print(self.pa2ch)\n", + "\n", + "new_histids = []\n", + "for parent_id in self.parent_ids:\n", + " for child_id in self.pa2ch[parent_id]:\n", + " new_histid = self.histid.copy()[self.histid.node_id==parent_id]\n", + " new_histid[['inc_edge_A', 'out_edge_A', 'inc_edge_B', 'out_edge_B']] = np.nan\n", + " for row in new_histid.itertuples(index=True):\n", + " phas_A = row.phas_A\n", + " phas_B = row.phas_B\n", + " new_match = self.match6[self.match6.node_id==child_id]\n", + " Arow = new_match[(new_match.phase_no==phas_A) & (new_match.ring_type=='A')]\n", + " if not Arow[['inc_edge', 'out_edge']].isna().all().all():\n", + " inc_edge = Arow.iloc[0].inc_edge\n", + " out_edge = Arow.iloc[0].out_edge\n", + " new_histid.loc[row.Index, ['inc_edge_A', 'out_edge_A']] = [inc_edge, out_edge]\n", + " Brow = new_match[(new_match.phase_no==phas_B) & (new_match.ring_type=='B')]\n", + " if not Brow[['inc_edge', 'out_edge']].isna().all().all():\n", + " inc_edge = Brow.iloc[0].inc_edge\n", + " out_edge = Brow.iloc[0].out_edge\n", + " new_histid.loc[row.Index, ['inc_edge_B', 'out_edge_B']] = [inc_edge, out_edge]\n", + " new_histid.loc[row.Index, 'node_id'] = child_id\n", + " new_histids.append(new_histid)\n", + "new_histids = pd.concat(new_histids)\n", + "self.histids = pd.concat([self.histid.copy(), new_histids])\n", + "self.histids = self.histids.sort_values(by=['start_unix', 'node_id', 'phas_A', 'phas_B']).reset_index(drop=True)\n", + "\n", + "# df1 = self.histids\n", + "\n", + "# # self.match6에 대해 set_index를 사용해 인덱스 설정\n", + "# new_match_indexed = new_match.set_index(['phase_no', 'ring_type'])\n", + "\n", + "# new_histids = []\n", + "# for parent_id in self.parent_ids:\n", + "# for child_id in self.pa2ch[parent_id]:\n", + "# new_histid = self.histid.copy()[self.histid.node_id==parent_id]\n", + "# new_histid[['inc_edge_A', 'out_edge_A', 'inc_edge_B', 'out_edge_B']] = np.nan\n", + "# for row in new_histid.itertuples(index=True):\n", + "# phas_A = row.phas_A\n", + "# phas_B = row.phas_B\n", + "# new_match = self.match6[self.match6.node_id==child_id]\n", + "# Arow = new_match_indexed.loc[(phas_A, 'A')]\n", + "# if len(Arow.shape) == 1:\n", + "# Arow.inc_edge\n", + "# else:\n", + "# Arow = Arow.reset_index(\n", + "# Arow.at[idx,'inc_edge'] \n", + "# )\n", + "# print(Arow)\n", + "# if not Arow[['inc_edge', 'out_edge']].isna().all().all():\n", + "# inc_edge = Arow.inc_edge Arow['inc_edge']\n", + "# out_edge = Arow.out_edge\n", + "# new_histid.loc[row.Index, ['inc_edge_A', 'out_edge_A']] = [inc_edge, out_edge]\n", + "# Brow = new_match_indexed.loc[(phas_B, 'B')]\n", + "# if not Brow[['inc_edge', 'out_edge']].isna().all().all():\n", + "# inc_edge = Brow.inc_edge\n", + "# out_edge = Brow.out_edge\n", + "# new_histid.loc[row.Index, ['inc_edge_B', 'out_edge_B']] = [inc_edge, out_edge]\n", + "# new_histid.loc[row.Index, 'node_id'] = child_id\n", + "# new_histids.append(new_histid)\n", + "# new_histids = pd.concat(new_histids)\n", + "# self.histids = pd.concat([self.histid.copy(), new_histids])\n", + "# self.histids = self.histids.sort_values(by=['start_unix', 'node_id', 'phas_A', 'phas_B']).reset_index(drop=True)\n", + "# df2 = self.histids\n", + "# # 인덱스 재설정 전에 원래 상태로 되돌림\n", + "# self.match6.reset_index(inplace=True)\n", + "# display(df1)\n", + "# display(df2)\n", + "# df1 == df2" + ] + }, + { + "cell_type": "code", + "execution_count": 221, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "nan\n" + ] + } + ], + "source": [ + "new_histids = []\n", + "match_set = self.match6.set_index(['phase_no','ring_type','node_id'])\n", + "for parent_id in self.parent_ids:\n", + " for child_id in self.pa2ch[parent_id]:\n", + " new_histid = self.histid.copy()[self.histid.node_id==parent_id]\n", + " new_histid[['inc_edge_A', 'out_edge_A', 'inc_edge_B', 'out_edge_B']] = np.nan\n", + " for row in new_histid.itertuples(index=True):\n", + " phas_A = row.phas_A\n", + " phas_B = row.phas_B\n", + " Arow = match_set.loc[(phas_A,'A',child_id)]\n", + " if (Arow.inc_edge == np.NaN)&(Arow.out_edge==np.NaN):\n", + " inc_edge = Arow.iloc[0].inc_edge\n", + " out_edge = Arow.iloc[0].out_edge\n", + " new_histid.loc[row.Index, ['inc_edge_A', 'out_edge_A']] = [inc_edge, out_edge]\n", + " Brow = match_set.loc[(phas_B,'B',child_id)]\n", + " if (Brow.inc_edge == np.NaN)&(Brow.out_edge==np.NaN):\n", + " inc_edge = Brow.iloc[0].inc_edge\n", + " out_edge = Brow.iloc[0].out_edge\n", + " new_histid.loc[row.Index, ['inc_edge_B', 'out_edge_B']] = [inc_edge, out_edge]\n", + " new_histid.loc[row.Index, 'node_id'] = child_id\n", + " new_histids.append(new_histid)\n", + " # break\n", + "new_histids = pd.concat(new_histids)\n", + "self.histids = pd.concat([self.histid.copy(), new_histids])\n", + "self.histids = self.histids.sort_values(by=['start_unix', 'node_id', 'phas_A', 'phas_B']).reset_index(drop=True)\n", + "\n", + "df1 = self.histids\n", + "\n", + "print(Arow.inc_edge)" ] } ], diff --git a/Analysis/0207_unit_test/histids.csv b/Analysis/0207_unit_test/histids.csv index 72e1d0fff..9c87dd96f 100644 --- a/Analysis/0207_unit_test/histids.csv +++ b/Analysis/0207_unit_test/histids.csv @@ -1,369 +1,317 @@ ,inter_no,node_id,start_unix,phas_A,phas_B,duration,inc_edge_A,out_edge_A,inc_edge_B,out_edge_B -0,202,i9,1704460810,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 -1,202,i9,1704460810,2,2,122,,,, -2,176,i1,1704460820,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 -3,176,i1,1704460820,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 -4,176,i1,1704460820,3,3,40,571543469_02,-571542797_02.99,, -5,178,c30,1704460840,1,1,38,,,, -6,178,c30,1704460840,2,2,39,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -7,178,c30,1704460840,3,3,44,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -8,178,c30,1704460840,4,4,59,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -9,177,i2,1704460840,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 -10,177,i2,1704460840,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 -11,177,i2,1704460840,3,3,77,,,, -12,177,i2,1704460840,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 -13,178,i3,1704460840,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 -14,178,i3,1704460840,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 -15,178,i3,1704460840,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 -16,178,i3,1704460840,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 -17,177,u20,1704460840,1,1,45,,,, -18,177,u20,1704460840,2,2,32,,,, -19,177,u20,1704460840,3,3,77,571542810_01.51,571542810_02,, -20,177,u20,1704460840,4,4,36,,,, -21,178,u30,1704460840,1,1,38,,,, -22,178,u30,1704460840,2,2,39,,,, -23,178,u30,1704460840,3,3,44,,,, -24,178,u30,1704460840,4,4,59,571556452_01,571556452_02,, -25,178,u31,1704460840,1,1,38,571500475_02,571500475_01.26,, -26,178,u31,1704460840,2,2,39,,,, -27,178,u31,1704460840,3,3,44,,,, -28,178,u31,1704460840,4,4,59,,,, -29,178,u32,1704460840,1,1,38,,,571540303_02,-571540303_02 -30,178,u32,1704460840,2,2,39,,,, -31,178,u32,1704460840,3,3,44,,,, -32,178,u32,1704460840,4,4,59,,,, -33,210,i6,1704460890,1,1,43,-571542115_01,571500535_01,, -34,210,i6,1704460890,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 -35,210,i6,1704460890,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 -36,210,i6,1704460890,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 -37,210,i6,1704460890,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 -38,210,u60,1704460890,1,1,43,,,, -39,210,u60,1704460890,1,2,0,,,, -40,210,u60,1704460890,2,2,47,571500535_02,-571500535_02,, -41,210,u60,1704460890,3,3,75,,,, -42,210,u60,1704460890,4,4,25,,,, -43,206,i7,1704460920,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 -44,206,i7,1704460920,2,2,62,,,, -45,206,i7,1704460920,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 -46,206,i7,1704460920,4,4,26,,,, -47,201,i8,1704460940,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 -48,201,i8,1704460940,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 -49,201,i8,1704460940,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 -50,201,i8,1704460940,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 -51,201,i8,1704460940,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 -52,175,i0,1704460980,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 -53,175,i0,1704460980,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 -54,175,i0,1704460980,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 -55,175,i0,1704460980,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 -56,175,i0,1704460980,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 -57,202,i9,1704460980,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 -58,202,i9,1704460980,2,2,122,,,, -59,175,u00,1704460980,1,1,46,,,, -60,175,u00,1704460980,2,2,48,571500487_02,571500487_01.32,, -61,175,u00,1704460980,3,3,55,,,, -62,175,u00,1704460980,3,4,0,,,, -63,175,u00,1704460980,4,4,41,,,, -64,176,i1,1704461009,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 -65,176,i1,1704461009,2,2,112,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 -66,176,i1,1704461009,3,3,40,571543469_02,-571542797_02.99,, -67,178,c30,1704461020,1,1,38,,,, -68,178,c30,1704461020,2,2,39,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -69,178,c30,1704461020,3,3,44,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -70,178,c30,1704461020,4,4,59,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -71,178,i3,1704461020,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 -72,178,i3,1704461020,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 -73,178,i3,1704461020,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 -74,178,i3,1704461020,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 -75,178,u30,1704461020,1,1,38,,,, -76,178,u30,1704461020,2,2,39,,,, -77,178,u30,1704461020,3,3,44,,,, -78,178,u30,1704461020,4,4,59,571556452_01,571556452_02,, -79,178,u31,1704461020,1,1,38,571500475_02,571500475_01.26,, -80,178,u31,1704461020,2,2,39,,,, -81,178,u31,1704461020,3,3,44,,,, -82,178,u31,1704461020,4,4,59,,,, -83,178,u32,1704461020,1,1,38,,,571540303_02,-571540303_02 -84,178,u32,1704461020,2,2,39,,,, -85,178,u32,1704461020,3,3,44,,,, -86,178,u32,1704461020,4,4,59,,,, -87,177,i2,1704461030,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 -88,177,i2,1704461030,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 -89,177,i2,1704461030,3,3,77,,,, -90,177,i2,1704461030,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 -91,177,u20,1704461030,1,1,45,,,, -92,177,u20,1704461030,2,2,32,,,, -93,177,u20,1704461030,3,3,77,571542810_01.51,571542810_02,, -94,177,u20,1704461030,4,4,36,,,, -95,210,i6,1704461080,1,1,43,-571542115_01,571500535_01,, -96,210,i6,1704461080,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 -97,210,i6,1704461080,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 -98,210,i6,1704461080,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 -99,210,i6,1704461080,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 -100,206,i7,1704461080,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 -101,206,i7,1704461080,2,2,62,,,, -102,206,i7,1704461080,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 -103,206,i7,1704461080,4,4,26,,,, -104,210,u60,1704461080,1,1,43,,,, -105,210,u60,1704461080,1,2,0,,,, -106,210,u60,1704461080,2,2,47,571500535_02,-571500535_02,, -107,210,u60,1704461080,3,3,75,,,, -108,210,u60,1704461080,4,4,25,,,, -109,201,i8,1704461120,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 -110,201,i8,1704461120,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 -111,201,i8,1704461120,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 -112,201,i8,1704461120,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 -113,201,i8,1704461120,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 -114,202,i9,1704461150,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 -115,202,i9,1704461150,2,2,122,,,, -116,175,i0,1704461170,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 -117,175,i0,1704461170,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 -118,175,i0,1704461170,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 -119,175,i0,1704461170,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 -120,175,i0,1704461170,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 -121,175,u00,1704461170,1,1,46,,,, -122,175,u00,1704461170,2,2,48,571500487_02,571500487_01.32,, -123,175,u00,1704461170,3,3,55,,,, -124,175,u00,1704461170,3,4,0,,,, -125,175,u00,1704461170,4,4,41,,,, -126,178,c30,1704461200,1,1,38,,,, -127,178,c30,1704461200,2,2,39,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -128,178,c30,1704461200,3,3,44,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -129,178,c30,1704461200,4,4,59,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -130,176,i1,1704461200,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 -131,176,i1,1704461200,2,2,114,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 -132,176,i1,1704461200,3,3,40,571543469_02,-571542797_02.99,, -133,178,i3,1704461200,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 -134,178,i3,1704461200,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 -135,178,i3,1704461200,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 -136,178,i3,1704461200,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 -137,178,u30,1704461200,1,1,38,,,, -138,178,u30,1704461200,2,2,39,,,, -139,178,u30,1704461200,3,3,44,,,, -140,178,u30,1704461200,4,4,59,571556452_01,571556452_02,, -141,178,u31,1704461200,1,1,38,571500475_02,571500475_01.26,, -142,178,u31,1704461200,2,2,39,,,, -143,178,u31,1704461200,3,3,44,,,, -144,178,u31,1704461200,4,4,59,,,, -145,178,u32,1704461200,1,1,38,,,571540303_02,-571540303_02 -146,178,u32,1704461200,2,2,39,,,, -147,178,u32,1704461200,3,3,44,,,, -148,178,u32,1704461200,4,4,59,,,, -149,177,i2,1704461220,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 -150,177,i2,1704461220,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 -151,177,i2,1704461220,3,3,77,,,, -152,177,i2,1704461220,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 -153,177,u20,1704461220,1,1,45,,,, -154,177,u20,1704461220,2,2,32,,,, -155,177,u20,1704461220,3,3,77,571542810_01.51,571542810_02,, -156,177,u20,1704461220,4,4,36,,,, -157,206,i7,1704461240,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 -158,206,i7,1704461240,2,2,62,,,, -159,206,i7,1704461240,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 -160,206,i7,1704461240,4,4,26,,,, -161,210,i6,1704461270,1,1,43,-571542115_01,571500535_01,, -162,210,i6,1704461270,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 -163,210,i6,1704461270,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 -164,210,i6,1704461270,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 -165,210,i6,1704461270,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 -166,210,u60,1704461270,1,1,43,,,, -167,210,u60,1704461270,1,2,0,,,, -168,210,u60,1704461270,2,2,47,571500535_02,-571500535_02,, -169,210,u60,1704461270,3,3,75,,,, -170,210,u60,1704461270,4,4,25,,,, -171,201,i8,1704461300,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 -172,201,i8,1704461300,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 -173,201,i8,1704461300,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 -174,201,i8,1704461300,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 -175,201,i8,1704461300,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 -176,202,i9,1704461320,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 -177,202,i9,1704461320,2,2,122,,,, -178,175,i0,1704461360,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 -179,175,i0,1704461360,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 -180,175,i0,1704461360,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 -181,175,i0,1704461360,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 -182,175,i0,1704461360,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 -183,175,u00,1704461360,1,1,46,,,, -184,175,u00,1704461360,2,2,48,571500487_02,571500487_01.32,, -185,175,u00,1704461360,3,3,55,,,, -186,175,u00,1704461360,3,4,0,,,, -187,175,u00,1704461360,4,4,41,,,, -188,178,c30,1704461380,1,1,38,,,, -189,178,c30,1704461380,2,2,39,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -190,178,c30,1704461380,3,3,44,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -191,178,c30,1704461380,4,4,59,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -192,178,i3,1704461380,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 -193,178,i3,1704461380,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 -194,178,i3,1704461380,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 -195,178,i3,1704461380,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 -196,178,u30,1704461380,1,1,38,,,, -197,178,u30,1704461380,2,2,39,,,, -198,178,u30,1704461380,3,3,44,,,, -199,178,u30,1704461380,4,4,59,571556452_01,571556452_02,, -200,178,u31,1704461380,1,1,38,571500475_02,571500475_01.26,, -201,178,u31,1704461380,2,2,39,,,, -202,178,u31,1704461380,3,3,44,,,, -203,178,u31,1704461380,4,4,59,,,, -204,178,u32,1704461380,1,1,38,,,571540303_02,-571540303_02 -205,178,u32,1704461380,2,2,39,,,, -206,178,u32,1704461380,3,3,44,,,, -207,178,u32,1704461380,4,4,59,,,, -208,176,i1,1704461390,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 -209,176,i1,1704461390,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 -210,176,i1,1704461390,3,3,40,571543469_02,-571542797_02.99,, -211,206,i7,1704461400,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 -212,206,i7,1704461400,2,2,62,,,, -213,206,i7,1704461400,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 -214,206,i7,1704461400,4,4,26,,,, -215,177,i2,1704461410,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 -216,177,i2,1704461410,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 -217,177,i2,1704461410,3,3,77,,,, -218,177,i2,1704461410,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 -219,177,u20,1704461410,1,1,45,,,, -220,177,u20,1704461410,2,2,32,,,, -221,177,u20,1704461410,3,3,77,571542810_01.51,571542810_02,, -222,177,u20,1704461410,4,4,36,,,, -223,210,i6,1704461460,1,1,43,-571542115_01,571500535_01,, -224,210,i6,1704461460,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 -225,210,i6,1704461460,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 -226,210,i6,1704461460,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 -227,210,i6,1704461460,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 -228,210,u60,1704461460,1,1,43,,,, -229,210,u60,1704461460,1,2,0,,,, -230,210,u60,1704461460,2,2,47,571500535_02,-571500535_02,, -231,210,u60,1704461460,3,3,75,,,, -232,210,u60,1704461460,4,4,25,,,, -233,201,i8,1704461480,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 -234,201,i8,1704461480,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 -235,201,i8,1704461480,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 -236,201,i8,1704461480,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 -237,201,i8,1704461480,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 -238,202,i9,1704461490,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 -239,202,i9,1704461490,2,2,122,,,, -240,175,i0,1704461550,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 -241,175,i0,1704461550,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 -242,175,i0,1704461550,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 -243,175,i0,1704461550,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 -244,175,i0,1704461550,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 -245,175,u00,1704461550,1,1,46,,,, -246,175,u00,1704461550,2,2,48,571500487_02,571500487_01.32,, -247,175,u00,1704461550,3,3,55,,,, -248,175,u00,1704461550,3,4,0,,,, -249,175,u00,1704461550,4,4,41,,,, -250,178,c30,1704461560,1,1,38,,,, -251,178,c30,1704461560,2,2,39,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -252,178,c30,1704461560,3,3,44,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -253,178,c30,1704461560,4,4,59,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -254,178,i3,1704461560,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 -255,178,i3,1704461560,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 -256,178,i3,1704461560,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 -257,178,i3,1704461560,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 -258,206,i7,1704461560,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 -259,206,i7,1704461560,2,2,62,,,, -260,206,i7,1704461560,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 -261,206,i7,1704461560,4,4,26,,,, -262,178,u30,1704461560,1,1,38,,,, -263,178,u30,1704461560,2,2,39,,,, -264,178,u30,1704461560,3,3,44,,,, -265,178,u30,1704461560,4,4,59,571556452_01,571556452_02,, -266,178,u31,1704461560,1,1,38,571500475_02,571500475_01.26,, -267,178,u31,1704461560,2,2,39,,,, -268,178,u31,1704461560,3,3,44,,,, -269,178,u31,1704461560,4,4,59,,,, -270,178,u32,1704461560,1,1,38,,,571540303_02,-571540303_02 -271,178,u32,1704461560,2,2,39,,,, -272,178,u32,1704461560,3,3,44,,,, -273,178,u32,1704461560,4,4,59,,,, -274,176,i1,1704461580,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 -275,176,i1,1704461580,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 -276,176,i1,1704461580,3,3,40,571543469_02,-571542797_02.99,, -277,177,i2,1704461600,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 -278,177,i2,1704461600,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 -279,177,i2,1704461600,3,3,77,,,, -280,177,i2,1704461600,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 -281,177,u20,1704461600,1,1,45,,,, -282,177,u20,1704461600,2,2,32,,,, -283,177,u20,1704461600,3,3,77,571542810_01.51,571542810_02,, -284,177,u20,1704461600,4,4,36,,,, -285,210,i6,1704461650,1,1,43,-571542115_01,571500535_01,, -286,210,i6,1704461650,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 -287,210,i6,1704461650,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 -288,210,i6,1704461650,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 -289,210,i6,1704461650,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 -290,210,u60,1704461650,1,1,43,,,, -291,210,u60,1704461650,1,2,0,,,, -292,210,u60,1704461650,2,2,47,571500535_02,-571500535_02,, -293,210,u60,1704461650,3,3,75,,,, -294,210,u60,1704461650,4,4,25,,,, -295,201,i8,1704461660,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 -296,201,i8,1704461660,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 -297,201,i8,1704461660,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 -298,201,i8,1704461660,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 -299,201,i8,1704461660,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 -300,202,i9,1704461660,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 -301,202,i9,1704461660,2,2,122,,,, -302,206,i7,1704461720,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 -303,206,i7,1704461720,2,2,62,,,, -304,206,i7,1704461720,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 -305,206,i7,1704461720,4,4,26,,,, -306,178,c30,1704461740,1,1,38,,,, -307,178,c30,1704461740,2,2,39,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -308,178,c30,1704461740,3,3,44,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -309,178,c30,1704461740,4,4,59,571542116_01,-571542116_02.96,571542116_02.96,571542116_02.164 -310,175,i0,1704461740,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 -311,175,i0,1704461740,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 -312,175,i0,1704461740,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 -313,175,i0,1704461740,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 -314,175,i0,1704461740,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 -315,178,i3,1704461740,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 -316,178,i3,1704461740,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 -317,178,i3,1704461740,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 -318,178,i3,1704461740,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 -319,175,u00,1704461740,1,1,46,,,, -320,175,u00,1704461740,2,2,48,571500487_02,571500487_01.32,, -321,175,u00,1704461740,3,3,55,,,, -322,175,u00,1704461740,3,4,0,,,, -323,175,u00,1704461740,4,4,41,,,, -324,178,u30,1704461740,1,1,38,,,, -325,178,u30,1704461740,2,2,39,,,, -326,178,u30,1704461740,3,3,44,,,, -327,178,u30,1704461740,4,4,59,571556452_01,571556452_02,, -328,178,u31,1704461740,1,1,38,571500475_02,571500475_01.26,, -329,178,u31,1704461740,2,2,39,,,, -330,178,u31,1704461740,3,3,44,,,, -331,178,u31,1704461740,4,4,59,,,, -332,178,u32,1704461740,1,1,38,,,571540303_02,-571540303_02 -333,178,u32,1704461740,2,2,39,,,, -334,178,u32,1704461740,3,3,44,,,, -335,178,u32,1704461740,4,4,59,,,, -336,176,i1,1704461770,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 -337,176,i1,1704461770,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 -338,176,i1,1704461770,3,3,40,571543469_02,-571542797_02.99,, -339,177,i2,1704461790,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 -340,177,i2,1704461790,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 -341,177,i2,1704461790,3,3,77,,,, -342,177,i2,1704461790,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 -343,177,u20,1704461790,1,1,45,,,, -344,177,u20,1704461790,2,2,32,,,, -345,177,u20,1704461790,3,3,77,571542810_01.51,571542810_02,, -346,177,u20,1704461790,4,4,36,,,, -347,210,i6,1704461810,1,1,36,-571542115_01,571500535_01,, -348,210,i6,1704461810,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 -349,210,i6,1704461810,2,2,40,571500535_02.18,571511538_01,571500535_02.18,571542115_01 -350,210,i6,1704461810,3,3,63,571511538_02.121,571542115_01,571511538_02.121,571500585_01 -351,210,i6,1704461810,4,4,21,571500585_02,571511538_01,571500585_02,571500535_01 -352,210,u60,1704461810,1,1,36,,,, -353,210,u60,1704461810,1,2,0,,,, -354,210,u60,1704461810,2,2,40,571500535_02,-571500535_02,, -355,210,u60,1704461810,3,3,63,,,, -356,210,u60,1704461810,4,4,21,,,, -357,201,i8,1704461820,1,1,32,-571500569_01,571500583_02,-571500569_01,571500618_01 -358,201,i8,1704461820,2,2,44,571500618_02,571500583_02,571500618_02,571500617_01 -359,201,i8,1704461820,3,3,16,571500617_02,571500618_01,571500618_02,571500617_01 -360,201,i8,1704461820,4,4,52,571500617_02,571500618_01,571500617_02,571500569_01 -361,201,i8,1704461820,5,5,16,571500583_01,571500617_01,571500583_01,571500569_01 -362,202,i9,1704461830,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 -363,202,i9,1704461830,2,2,122,,,, -364,206,i7,1704461840,1,1,35,-571511538_02,571542073_02,571542073_01,571511538_02 -365,206,i7,1704461840,2,2,47,,,, -366,206,i7,1704461840,3,3,20,-571511538_02,571542073_02,571542073_01,571511538_02 -367,206,i7,1704461840,4,4,20,,,, +8,177,i2,1704418970,1,1,43,-571542809_01,571542811_01,571542811_02,571542809_01 +9,177,i2,1704418970,2,2,27,571542811_02,571542107_01,-571542809_01,571542809_01 +10,177,i2,1704418970,3,3,70,,,, +11,177,i2,1704418970,4,4,40,-571542809_01,571542811_01,571542107_02,571542809_01 +12,177,i2,1704419150,1,1,43,-571542809_01,571542811_01,571542811_02,571542809_01 +13,177,i2,1704419150,2,2,27,571542811_02,571542107_01,-571542809_01,571542809_01 +14,177,i2,1704419150,3,3,70,,,, +15,177,i2,1704419150,4,4,40,-571542809_01,571542811_01,571542107_02,571542809_01 +16,177,i2,1704419330,1,1,31,-571542809_01,571542811_01,571542811_02,571542809_01 +17,177,i2,1704419330,2,2,19,571542811_02,571542107_01,-571542809_01,571542809_01 +18,177,i2,1704419330,3,3,50,,,, +19,177,i2,1704419330,4,4,28,-571542809_01,571542811_01,571542107_02,571542809_01 +20,177,i2,1704419690,1,1,43,-571542809_01,571542811_01,571542811_02,571542809_01 +21,177,i2,1704419690,2,2,27,571542811_02,571542107_01,-571542809_01,571542809_01 +22,177,i2,1704419690,3,3,70,,,, +23,177,i2,1704419690,4,4,40,-571542809_01,571542811_01,571542107_02,571542809_01 +24,177,i2,1704419820,1,1,31,-571542809_01,571542811_01,571542811_02,571542809_01 +25,177,i2,1704419820,2,2,19,571542811_02,571542107_01,-571542809_01,571542809_01 +26,177,i2,1704419820,3,3,50,,,, +27,177,i2,1704419820,4,4,28,-571542809_01,571542811_01,571542107_02,571542809_01 +34,176,i1,1704418879,1,1,36,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +35,176,i1,1704418879,2,2,102,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +36,176,i1,1704418879,3,3,39,571543469_02,-571542797_02.99,, +37,176,i1,1704419060,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +38,176,i1,1704419060,2,2,103,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +39,176,i1,1704419060,3,3,40,571543469_02,-571542797_02.99,, +40,176,i1,1704419420,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +41,176,i1,1704419420,2,2,103,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +42,176,i1,1704419420,3,3,40,571543469_02,-571542797_02.99,, +43,176,i1,1704419600,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +44,176,i1,1704419600,2,2,103,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +45,176,i1,1704419600,3,3,40,571543469_02,-571542797_02.99,, +46,176,i1,1704419780,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +47,176,i1,1704419780,2,2,103,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +48,176,i1,1704419780,3,3,40,571543469_02,-571542797_02.99,, +59,175,i0,1704418880,1,1,43,-571542797_02,571500487_01,-571500487_01,571542797_02 +60,175,i0,1704418880,2,2,45,-571500487_01,571545870_01,-571542797_02,571510153_01 +61,175,i0,1704418880,3,3,33,571545870_02,571510153_01,571545870_02,571542797_02 +62,175,i0,1704418880,3,4,22,571545870_02,571510153_01,571510153_02,571545870_01 +63,175,i0,1704418880,4,4,37,571510153_02,571500487_01,571510153_02,571545870_01 +64,175,i0,1704419060,1,1,43,-571542797_02,571500487_01,-571500487_01,571542797_02 +65,175,i0,1704419060,2,2,45,-571500487_01,571545870_01,-571542797_02,571510153_01 +66,175,i0,1704419060,3,3,33,571545870_02,571510153_01,571545870_02,571542797_02 +67,175,i0,1704419060,3,4,22,571545870_02,571510153_01,571510153_02,571545870_01 +68,175,i0,1704419060,4,4,37,571510153_02,571500487_01,571510153_02,571545870_01 +69,175,i0,1704419420,1,1,43,-571542797_02,571500487_01,-571500487_01,571542797_02 +70,175,i0,1704419420,2,2,45,-571500487_01,571545870_01,-571542797_02,571510153_01 +71,175,i0,1704419420,3,3,33,571545870_02,571510153_01,571545870_02,571542797_02 +72,175,i0,1704419420,3,4,22,571545870_02,571510153_01,571510153_02,571545870_01 +73,175,i0,1704419420,4,4,37,571510153_02,571500487_01,571510153_02,571545870_01 +74,175,i0,1704419600,1,1,43,-571542797_02,571500487_01,-571500487_01,571542797_02 +75,175,i0,1704419600,2,2,45,-571500487_01,571545870_01,-571542797_02,571510153_01 +76,175,i0,1704419600,3,3,33,571545870_02,571510153_01,571545870_02,571542797_02 +77,175,i0,1704419600,3,4,22,571545870_02,571510153_01,571510153_02,571545870_01 +78,175,i0,1704419600,4,4,37,571510153_02,571500487_01,571510153_02,571545870_01 +79,175,i0,1704419780,1,1,43,-571542797_02,571500487_01,-571500487_01,571542797_02 +80,175,i0,1704419780,2,2,45,-571500487_01,571545870_01,-571542797_02,571510153_01 +81,175,i0,1704419780,3,3,33,571545870_02,571510153_01,571545870_02,571542797_02 +82,175,i0,1704419780,3,4,22,571545870_02,571510153_01,571510153_02,571545870_01 +83,175,i0,1704419780,4,4,37,571510153_02,571500487_01,571510153_02,571545870_01 +92,206,i7,1704418860,1,1,45,-571511538_02,571542073_02,571542073_01,571511538_02 +93,206,i7,1704418860,2,2,53,,,, +94,206,i7,1704418860,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +95,206,i7,1704418860,4,4,26,,,, +96,206,i7,1704419010,1,1,45,-571511538_02,571542073_02,571542073_01,571511538_02 +97,206,i7,1704419010,2,2,53,,,, +98,206,i7,1704419010,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +99,206,i7,1704419010,4,4,26,,,, +100,206,i7,1704419160,1,1,45,-571511538_02,571542073_02,571542073_01,571511538_02 +101,206,i7,1704419160,2,2,53,,,, +102,206,i7,1704419160,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +103,206,i7,1704419160,4,4,26,,,, +104,206,i7,1704419460,1,1,45,-571511538_02,571542073_02,571542073_01,571511538_02 +105,206,i7,1704419460,2,2,53,,,, +106,206,i7,1704419460,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +107,206,i7,1704419460,4,4,26,,,, +108,206,i7,1704419610,1,1,45,-571511538_02,571542073_02,571542073_01,571511538_02 +109,206,i7,1704419610,2,2,53,,,, +110,206,i7,1704419610,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +111,206,i7,1704419610,4,4,26,,,, +112,206,i7,1704419760,1,1,45,-571511538_02,571542073_02,571542073_01,571511538_02 +113,206,i7,1704419760,2,2,53,,,, +114,206,i7,1704419760,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +115,206,i7,1704419760,4,4,26,,,, +126,210,i6,1704418940,1,1,28,-571542115_01,571500535_01,, +127,210,i6,1704418940,1,2,15,-571542115_01,571500535_01,571500535_02.18,571542115_01 +128,210,i6,1704418940,2,2,43,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +129,210,i6,1704418940,3,3,70,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +130,210,i6,1704418940,4,4,24,571500585_02,571511538_01,571500585_02,571500535_01 +131,210,i6,1704419120,1,1,28,-571542115_01,571500535_01,, +132,210,i6,1704419120,1,2,15,-571542115_01,571500535_01,571500535_02.18,571542115_01 +133,210,i6,1704419120,2,2,43,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +134,210,i6,1704419120,3,3,70,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +135,210,i6,1704419120,4,4,24,571500585_02,571511538_01,571500585_02,571500535_01 +136,210,i6,1704419300,1,1,24,-571542115_01,571500535_01,, +137,210,i6,1704419300,1,2,14,-571542115_01,571500535_01,571500535_02.18,571542115_01 +138,210,i6,1704419300,2,2,38,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +139,210,i6,1704419300,3,3,62,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +140,210,i6,1704419300,4,4,21,571500585_02,571511538_01,571500585_02,571500535_01 +141,210,i6,1704419660,1,1,28,-571542115_01,571500535_01,, +142,210,i6,1704419660,1,2,15,-571542115_01,571500535_01,571500535_02.18,571542115_01 +143,210,i6,1704419660,2,2,43,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +144,210,i6,1704419660,3,3,70,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +145,210,i6,1704419660,4,4,24,571500585_02,571511538_01,571500585_02,571500535_01 +146,210,i6,1704419820,1,1,24,-571542115_01,571500535_01,, +147,210,i6,1704419820,1,2,14,-571542115_01,571500535_01,571500535_02.18,571542115_01 +148,210,i6,1704419820,2,2,38,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +149,210,i6,1704419820,3,3,62,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +150,210,i6,1704419820,4,4,21,571500585_02,571511538_01,571500585_02,571500535_01 +153,202,i9,1704418810,1,1,46,571510152_02,-571510152_01,571510152_01,571510152_01.65 +154,202,i9,1704418810,2,2,114,,,, +155,202,i9,1704418970,1,1,46,571510152_02,-571510152_01,571510152_01,571510152_01.65 +156,202,i9,1704418970,2,2,114,,,, +157,202,i9,1704419129,1,1,45,571510152_02,-571510152_01,571510152_01,571510152_01.65 +158,202,i9,1704419129,2,2,113,,,, +159,202,i9,1704419449,1,1,46,571510152_02,-571510152_01,571510152_01,571510152_01.65 +160,202,i9,1704419449,2,2,114,,,, +161,202,i9,1704419609,1,1,46,571510152_02,-571510152_01,571510152_01,571510152_01.65 +162,202,i9,1704419609,2,2,114,,,, +163,202,i9,1704419769,1,1,46,571510152_02,-571510152_01,571510152_01,571510152_01.65 +164,202,i9,1704419769,2,2,114,,,, +173,178,i3,1704418900,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +174,178,i3,1704418900,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +175,178,i3,1704418900,3,3,43,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +176,178,i3,1704418900,4,4,22,-571500475_01,571540303_01,-571500475_01,571540304_01 +177,178,i3,1704419070,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +178,178,i3,1704419070,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +179,178,i3,1704419070,3,3,43,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +180,178,i3,1704419070,4,4,22,-571500475_01,571540303_01,-571500475_01,571540304_01 +181,178,i3,1704419410,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +182,178,i3,1704419410,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +183,178,i3,1704419410,3,3,43,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +184,178,i3,1704419410,4,4,22,-571500475_01,571540303_01,-571500475_01,571540304_01 +185,178,i3,1704419580,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +186,178,i3,1704419580,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +187,178,i3,1704419580,3,3,43,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +188,178,i3,1704419580,4,4,22,-571500475_01,571540303_01,-571500475_01,571540304_01 +189,178,i3,1704419750,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +190,178,i3,1704419750,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +191,178,i3,1704419750,3,3,43,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +192,178,i3,1704419750,4,4,22,-571500475_01,571540303_01,-571500475_01,571540304_01 +203,201,i8,1704418940,1,1,33,-571500569_01,571500583_02,-571500569_01,571500618_01 +204,201,i8,1704418940,2,2,36,571500618_02,571500583_02,571500618_02,571500617_01 +205,201,i8,1704418940,3,3,25,571500617_02,571500618_01,571500618_02,571500617_01 +206,201,i8,1704418940,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +207,201,i8,1704418940,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +208,201,i8,1704419110,1,1,33,-571500569_01,571500583_02,-571500569_01,571500618_01 +209,201,i8,1704419110,2,2,36,571500618_02,571500583_02,571500618_02,571500617_01 +210,201,i8,1704419110,3,3,25,571500617_02,571500618_01,571500618_02,571500617_01 +211,201,i8,1704419110,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +212,201,i8,1704419110,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +213,201,i8,1704419450,1,1,33,-571500569_01,571500583_02,-571500569_01,571500618_01 +214,201,i8,1704419450,2,2,36,571500618_02,571500583_02,571500618_02,571500617_01 +215,201,i8,1704419450,3,3,25,571500617_02,571500618_01,571500618_02,571500617_01 +216,201,i8,1704419450,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +217,201,i8,1704419450,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +218,201,i8,1704419620,1,1,33,-571500569_01,571500583_02,-571500569_01,571500618_01 +219,201,i8,1704419620,2,2,36,571500618_02,571500583_02,571500618_02,571500617_01 +220,201,i8,1704419620,3,3,25,571500617_02,571500618_01,571500618_02,571500617_01 +221,201,i8,1704419620,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +222,201,i8,1704419620,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +223,201,i8,1704419790,1,1,33,-571500569_01,571500583_02,-571500569_01,571500618_01 +224,201,i8,1704419790,2,2,36,571500618_02,571500583_02,571500618_02,571500617_01 +225,201,i8,1704419790,3,3,25,571500617_02,571500618_01,571500618_02,571500617_01 +226,201,i8,1704419790,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +227,201,i8,1704419790,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +59,175,u00,1704418880,1,1,43,,,, +60,175,u00,1704418880,2,2,45,,,, +61,175,u00,1704418880,3,3,33,,,, +62,175,u00,1704418880,3,4,22,,,, +63,175,u00,1704418880,4,4,37,,,, +64,175,u00,1704419060,1,1,43,,,, +65,175,u00,1704419060,2,2,45,,,, +66,175,u00,1704419060,3,3,33,,,, +67,175,u00,1704419060,3,4,22,,,, +68,175,u00,1704419060,4,4,37,,,, +69,175,u00,1704419420,1,1,43,,,, +70,175,u00,1704419420,2,2,45,,,, +71,175,u00,1704419420,3,3,33,,,, +72,175,u00,1704419420,3,4,22,,,, +73,175,u00,1704419420,4,4,37,,,, +74,175,u00,1704419600,1,1,43,,,, +75,175,u00,1704419600,2,2,45,,,, +76,175,u00,1704419600,3,3,33,,,, +77,175,u00,1704419600,3,4,22,,,, +78,175,u00,1704419600,4,4,37,,,, +79,175,u00,1704419780,1,1,43,,,, +80,175,u00,1704419780,2,2,45,,,, +81,175,u00,1704419780,3,3,33,,,, +82,175,u00,1704419780,3,4,22,,,, +83,175,u00,1704419780,4,4,37,,,, +8,177,u20,1704418970,1,1,43,,,, +9,177,u20,1704418970,2,2,27,,,, +10,177,u20,1704418970,3,3,70,,,, +11,177,u20,1704418970,4,4,40,,,, +12,177,u20,1704419150,1,1,43,,,, +13,177,u20,1704419150,2,2,27,,,, +14,177,u20,1704419150,3,3,70,,,, +15,177,u20,1704419150,4,4,40,,,, +16,177,u20,1704419330,1,1,31,,,, +17,177,u20,1704419330,2,2,19,,,, +18,177,u20,1704419330,3,3,50,,,, +19,177,u20,1704419330,4,4,28,,,, +20,177,u20,1704419690,1,1,43,,,, +21,177,u20,1704419690,2,2,27,,,, +22,177,u20,1704419690,3,3,70,,,, +23,177,u20,1704419690,4,4,40,,,, +24,177,u20,1704419820,1,1,31,,,, +25,177,u20,1704419820,2,2,19,,,, +26,177,u20,1704419820,3,3,50,,,, +27,177,u20,1704419820,4,4,28,,,, +173,178,c30,1704418900,1,1,38,,,, +174,178,c30,1704418900,2,2,39,,,, +175,178,c30,1704418900,3,3,43,,,, +176,178,c30,1704418900,4,4,22,,,, +177,178,c30,1704419070,1,1,38,,,, +178,178,c30,1704419070,2,2,39,,,, +179,178,c30,1704419070,3,3,43,,,, +180,178,c30,1704419070,4,4,22,,,, +181,178,c30,1704419410,1,1,38,,,, +182,178,c30,1704419410,2,2,39,,,, +183,178,c30,1704419410,3,3,43,,,, +184,178,c30,1704419410,4,4,22,,,, +185,178,c30,1704419580,1,1,38,,,, +186,178,c30,1704419580,2,2,39,,,, +187,178,c30,1704419580,3,3,43,,,, +188,178,c30,1704419580,4,4,22,,,, +189,178,c30,1704419750,1,1,38,,,, +190,178,c30,1704419750,2,2,39,,,, +191,178,c30,1704419750,3,3,43,,,, +192,178,c30,1704419750,4,4,22,,,, +173,178,u30,1704418900,1,1,38,,,, +174,178,u30,1704418900,2,2,39,,,, +175,178,u30,1704418900,3,3,43,,,, +176,178,u30,1704418900,4,4,22,,,, +177,178,u30,1704419070,1,1,38,,,, +178,178,u30,1704419070,2,2,39,,,, +179,178,u30,1704419070,3,3,43,,,, +180,178,u30,1704419070,4,4,22,,,, +181,178,u30,1704419410,1,1,38,,,, +182,178,u30,1704419410,2,2,39,,,, +183,178,u30,1704419410,3,3,43,,,, +184,178,u30,1704419410,4,4,22,,,, +185,178,u30,1704419580,1,1,38,,,, +186,178,u30,1704419580,2,2,39,,,, +187,178,u30,1704419580,3,3,43,,,, +188,178,u30,1704419580,4,4,22,,,, +189,178,u30,1704419750,1,1,38,,,, +190,178,u30,1704419750,2,2,39,,,, +191,178,u30,1704419750,3,3,43,,,, +192,178,u30,1704419750,4,4,22,,,, +173,178,u31,1704418900,1,1,38,,,, +174,178,u31,1704418900,2,2,39,,,, +175,178,u31,1704418900,3,3,43,,,, +176,178,u31,1704418900,4,4,22,,,, +177,178,u31,1704419070,1,1,38,,,, +178,178,u31,1704419070,2,2,39,,,, +179,178,u31,1704419070,3,3,43,,,, +180,178,u31,1704419070,4,4,22,,,, +181,178,u31,1704419410,1,1,38,,,, +182,178,u31,1704419410,2,2,39,,,, +183,178,u31,1704419410,3,3,43,,,, +184,178,u31,1704419410,4,4,22,,,, +185,178,u31,1704419580,1,1,38,,,, +186,178,u31,1704419580,2,2,39,,,, +187,178,u31,1704419580,3,3,43,,,, +188,178,u31,1704419580,4,4,22,,,, +189,178,u31,1704419750,1,1,38,,,, +190,178,u31,1704419750,2,2,39,,,, +191,178,u31,1704419750,3,3,43,,,, +192,178,u31,1704419750,4,4,22,,,, +173,178,u32,1704418900,1,1,38,,,, +174,178,u32,1704418900,2,2,39,,,, +175,178,u32,1704418900,3,3,43,,,, +176,178,u32,1704418900,4,4,22,,,, +177,178,u32,1704419070,1,1,38,,,, +178,178,u32,1704419070,2,2,39,,,, +179,178,u32,1704419070,3,3,43,,,, +180,178,u32,1704419070,4,4,22,,,, +181,178,u32,1704419410,1,1,38,,,, +182,178,u32,1704419410,2,2,39,,,, +183,178,u32,1704419410,3,3,43,,,, +184,178,u32,1704419410,4,4,22,,,, +185,178,u32,1704419580,1,1,38,,,, +186,178,u32,1704419580,2,2,39,,,, +187,178,u32,1704419580,3,3,43,,,, +188,178,u32,1704419580,4,4,22,,,, +189,178,u32,1704419750,1,1,38,,,, +190,178,u32,1704419750,2,2,39,,,, +191,178,u32,1704419750,3,3,43,,,, +192,178,u32,1704419750,4,4,22,,,, +126,210,u60,1704418940,1,1,28,,,, +127,210,u60,1704418940,1,2,15,,,, +128,210,u60,1704418940,2,2,43,,,, +129,210,u60,1704418940,3,3,70,,,, +130,210,u60,1704418940,4,4,24,,,, +131,210,u60,1704419120,1,1,28,,,, +132,210,u60,1704419120,1,2,15,,,, +133,210,u60,1704419120,2,2,43,,,, +134,210,u60,1704419120,3,3,70,,,, +135,210,u60,1704419120,4,4,24,,,, +136,210,u60,1704419300,1,1,24,,,, +137,210,u60,1704419300,1,2,14,,,, +138,210,u60,1704419300,2,2,38,,,, +139,210,u60,1704419300,3,3,62,,,, +140,210,u60,1704419300,4,4,21,,,, +141,210,u60,1704419660,1,1,28,,,, +142,210,u60,1704419660,1,2,15,,,, +143,210,u60,1704419660,2,2,43,,,, +144,210,u60,1704419660,3,3,70,,,, +145,210,u60,1704419660,4,4,24,,,, +146,210,u60,1704419820,1,1,24,,,, +147,210,u60,1704419820,1,2,14,,,, +148,210,u60,1704419820,2,2,38,,,, +149,210,u60,1704419820,3,3,62,,,, +150,210,u60,1704419820,4,4,21,,,, diff --git a/Analysis/0207_unit_test/hrhists.csv b/Analysis/0207_unit_test/hrhists.csv index 5c76317f4..c4a76b20f 100644 --- a/Analysis/0207_unit_test/hrhists.csv +++ b/Analysis/0207_unit_test/hrhists.csv @@ -1,313 +1,236 @@ ,inter_no,start_unix,phas_A,phas_B,duration -0,175,1704460220,1,1,46 -1,175,1704460220,2,2,48 -2,175,1704460220,3,3,55 -3,175,1704460220,3,4,0 -4,175,1704460220,4,4,41 -5,201,1704460220,1,1,36 -6,201,1704460220,2,2,50 -7,201,1704460220,3,3,18 -8,201,1704460220,4,4,58 -9,201,1704460220,5,5,18 -10,176,1704460250,1,1,37 -11,176,1704460250,2,2,113 -12,176,1704460250,3,3,40 -13,177,1704460270,1,1,45 -14,177,1704460270,2,2,32 -15,177,1704460270,3,3,78 -16,177,1704460270,4,4,36 -17,206,1704460280,1,1,46 -18,206,1704460280,2,2,62 -19,206,1704460280,3,3,26 -20,206,1704460280,4,4,26 -21,178,1704460300,1,1,38 -22,178,1704460300,2,2,39 -23,178,1704460300,3,3,44 -24,178,1704460300,4,3,0 -25,178,1704460300,4,4,58 -26,202,1704460300,1,1,48 -27,202,1704460300,2,2,122 -28,210,1704460320,1,1,43 -29,210,1704460320,1,2,0 -30,210,1704460320,2,2,47 -31,210,1704460320,3,3,74 -32,210,1704460320,4,4,25 -33,201,1704460400,1,1,36 -34,201,1704460400,2,2,50 -35,201,1704460400,3,3,18 -36,201,1704460400,4,4,58 -37,201,1704460400,5,5,18 -38,175,1704460410,1,1,46 -39,175,1704460410,2,2,48 -40,175,1704460410,3,3,55 -41,175,1704460410,3,4,0 -42,175,1704460410,4,4,41 -43,176,1704460440,1,1,37 -44,176,1704460440,2,2,113 -45,176,1704460440,3,3,40 -46,206,1704460440,1,1,46 -47,206,1704460440,2,2,62 -48,206,1704460440,3,3,26 -49,206,1704460440,4,4,26 -50,177,1704460459,1,1,45 -51,177,1704460459,2,2,32 -52,177,1704460459,3,3,76 -53,177,1704460459,4,4,36 -54,202,1704460471,1,1,48 -55,202,1704460471,2,2,123 -56,178,1704460480,1,1,38 -57,178,1704460480,2,2,39 -58,178,1704460480,3,3,44 -59,178,1704460480,4,3,0 -60,178,1704460480,4,4,59 -61,210,1704460510,1,1,43 -62,210,1704460510,1,2,0 -63,210,1704460510,2,2,47 -64,210,1704460510,3,3,75 -65,210,1704460510,4,4,25 -66,201,1704460580,1,1,36 -67,201,1704460580,2,2,50 -68,201,1704460580,3,3,18 -69,201,1704460580,4,4,58 -70,201,1704460580,5,5,18 -71,175,1704460600,1,1,46 -72,175,1704460600,2,2,48 -73,175,1704460600,3,3,55 -74,175,1704460600,3,4,0 -75,175,1704460600,4,4,41 -76,206,1704460600,1,1,46 -77,206,1704460600,2,2,62 -78,206,1704460600,3,3,26 -79,206,1704460600,4,4,26 -80,176,1704460630,1,1,37 -81,176,1704460630,2,2,113 -82,176,1704460630,3,3,40 -83,202,1704460640,1,1,48 -84,202,1704460640,2,2,121 -85,177,1704460650,1,1,45 -86,177,1704460650,2,2,32 -87,177,1704460650,3,3,78 -88,177,1704460650,4,4,36 -89,178,1704460660,1,1,38 -90,178,1704460660,2,2,39 -91,178,1704460660,3,3,44 -92,178,1704460660,4,3,0 -93,178,1704460660,4,4,59 -94,210,1704460700,1,1,43 -95,210,1704460700,1,2,0 -96,210,1704460700,2,2,47 -97,210,1704460700,3,3,75 -98,210,1704460700,4,4,25 -99,201,1704460760,1,1,36 -100,201,1704460760,2,2,50 -101,201,1704460760,3,3,18 -102,201,1704460760,4,4,58 -103,201,1704460760,5,5,18 -104,206,1704460760,1,1,46 -105,206,1704460760,2,2,62 -106,206,1704460760,3,3,26 -107,206,1704460760,4,4,26 -108,175,1704460790,1,1,46 -109,175,1704460790,2,2,48 -110,175,1704460790,3,3,55 -111,175,1704460790,3,4,0 -112,175,1704460790,4,4,41 -113,202,1704460810,1,1,48 -114,202,1704460810,2,2,122 -115,176,1704460820,1,1,37 -116,176,1704460820,2,2,113 -117,176,1704460820,3,3,40 -118,177,1704460840,1,1,45 -119,177,1704460840,2,2,32 -120,177,1704460840,3,3,77 -121,177,1704460840,4,4,36 -122,178,1704460840,1,1,38 -123,178,1704460840,2,2,39 -124,178,1704460840,3,3,44 -125,178,1704460840,4,3,0 -126,178,1704460840,4,4,59 -127,210,1704460890,1,1,43 -128,210,1704460890,1,2,0 -129,210,1704460890,2,2,47 -130,210,1704460890,3,3,75 -131,210,1704460890,4,4,25 -132,206,1704460920,1,1,46 -133,206,1704460920,2,2,62 -134,206,1704460920,3,3,26 -135,206,1704460920,4,4,26 -136,201,1704460940,1,1,36 -137,201,1704460940,2,2,50 -138,201,1704460940,3,3,18 -139,201,1704460940,4,4,58 -140,201,1704460940,5,5,18 -141,175,1704460980,1,1,46 -142,175,1704460980,2,2,48 -143,175,1704460980,3,3,55 -144,175,1704460980,3,4,0 -145,175,1704460980,4,4,41 -146,202,1704460980,1,1,48 -147,202,1704460980,2,2,122 -148,176,1704461009,1,1,37 -149,176,1704461009,2,2,112 -150,176,1704461009,3,3,40 -151,178,1704461020,1,1,38 -152,178,1704461020,2,2,39 -153,178,1704461020,3,3,44 -154,178,1704461020,4,3,0 -155,178,1704461020,4,4,59 -156,177,1704461030,1,1,45 -157,177,1704461030,2,2,32 -158,177,1704461030,3,3,77 -159,177,1704461030,4,4,36 -160,206,1704461080,1,1,46 -161,206,1704461080,2,2,62 -162,206,1704461080,3,3,26 -163,206,1704461080,4,4,26 -164,210,1704461080,1,1,43 -165,210,1704461080,1,2,0 -166,210,1704461080,2,2,47 -167,210,1704461080,3,3,75 -168,210,1704461080,4,4,25 -169,201,1704461120,1,1,36 -170,201,1704461120,2,2,50 -171,201,1704461120,3,3,18 -172,201,1704461120,4,4,58 -173,201,1704461120,5,5,18 -174,202,1704461150,1,1,48 -175,202,1704461150,2,2,122 -176,175,1704461170,1,1,46 -177,175,1704461170,2,2,48 -178,175,1704461170,3,3,55 -179,175,1704461170,3,4,0 -180,175,1704461170,4,4,41 -181,176,1704461200,1,1,37 -182,176,1704461200,2,2,114 -183,176,1704461200,3,3,40 -184,178,1704461200,1,1,38 -185,178,1704461200,2,2,39 -186,178,1704461200,3,3,44 -187,178,1704461200,4,3,0 -188,178,1704461200,4,4,59 -189,177,1704461220,1,1,45 -190,177,1704461220,2,2,32 -191,177,1704461220,3,3,77 -192,177,1704461220,4,4,36 -193,206,1704461240,1,1,46 -194,206,1704461240,2,2,62 -195,206,1704461240,3,3,26 -196,206,1704461240,4,4,26 -197,210,1704461270,1,1,43 -198,210,1704461270,1,2,0 -199,210,1704461270,2,2,47 -200,210,1704461270,3,3,75 -201,210,1704461270,4,4,25 -202,201,1704461300,1,1,36 -203,201,1704461300,2,2,50 -204,201,1704461300,3,3,18 -205,201,1704461300,4,4,58 -206,201,1704461300,5,5,18 -207,202,1704461320,1,1,48 -208,202,1704461320,2,2,122 -209,175,1704461360,1,1,46 -210,175,1704461360,2,2,48 -211,175,1704461360,3,3,55 -212,175,1704461360,3,4,0 -213,175,1704461360,4,4,41 -214,178,1704461380,1,1,38 -215,178,1704461380,2,2,39 -216,178,1704461380,3,3,44 -217,178,1704461380,4,3,0 -218,178,1704461380,4,4,59 -219,176,1704461390,1,1,37 -220,176,1704461390,2,2,113 -221,176,1704461390,3,3,40 -222,206,1704461400,1,1,46 -223,206,1704461400,2,2,62 -224,206,1704461400,3,3,26 -225,206,1704461400,4,4,26 -226,177,1704461410,1,1,45 -227,177,1704461410,2,2,32 -228,177,1704461410,3,3,77 -229,177,1704461410,4,4,36 -230,210,1704461460,1,1,43 -231,210,1704461460,1,2,0 -232,210,1704461460,2,2,47 -233,210,1704461460,3,3,75 -234,210,1704461460,4,4,25 -235,201,1704461480,1,1,36 -236,201,1704461480,2,2,50 -237,201,1704461480,3,3,18 -238,201,1704461480,4,4,58 -239,201,1704461480,5,5,18 -240,202,1704461490,1,1,48 -241,202,1704461490,2,2,122 -242,175,1704461550,1,1,46 -243,175,1704461550,2,2,48 -244,175,1704461550,3,3,55 -245,175,1704461550,3,4,0 -246,175,1704461550,4,4,41 -247,178,1704461560,1,1,38 -248,178,1704461560,2,2,39 -249,178,1704461560,3,3,44 -250,178,1704461560,4,3,0 -251,178,1704461560,4,4,59 -252,206,1704461560,1,1,46 -253,206,1704461560,2,2,62 -254,206,1704461560,3,3,26 -255,206,1704461560,4,4,26 -256,176,1704461580,1,1,37 -257,176,1704461580,2,2,113 -258,176,1704461580,3,3,40 -259,177,1704461600,1,1,45 -260,177,1704461600,2,2,32 -261,177,1704461600,3,3,77 -262,177,1704461600,4,4,36 -263,210,1704461650,1,1,43 -264,210,1704461650,1,2,0 -265,210,1704461650,2,2,47 -266,210,1704461650,3,3,75 -267,210,1704461650,4,4,25 -268,201,1704461660,1,1,36 -269,201,1704461660,2,2,50 -270,201,1704461660,3,3,18 -271,201,1704461660,4,4,58 -272,201,1704461660,5,5,18 -273,202,1704461660,1,1,48 -274,202,1704461660,2,2,122 -275,206,1704461720,1,1,46 -276,206,1704461720,2,2,62 -277,206,1704461720,3,3,26 -278,206,1704461720,4,4,26 -279,175,1704461740,1,1,46 -280,175,1704461740,2,2,48 -281,175,1704461740,3,3,55 -282,175,1704461740,3,4,0 -283,175,1704461740,4,4,41 -284,178,1704461740,1,1,38 -285,178,1704461740,2,2,39 -286,178,1704461740,3,3,44 -287,178,1704461740,4,3,0 -288,178,1704461740,4,4,59 -289,176,1704461770,1,1,37 -290,176,1704461770,2,2,113 -291,176,1704461770,3,3,40 -292,177,1704461790,1,1,45 -293,177,1704461790,2,2,32 -294,177,1704461790,3,3,77 -295,177,1704461790,4,4,36 -296,210,1704461810,1,1,36 -297,210,1704461810,1,2,0 -298,210,1704461810,2,2,40 -299,210,1704461810,3,3,63 -300,210,1704461810,4,4,21 -301,201,1704461820,1,1,32 -302,201,1704461820,2,2,44 -303,201,1704461820,3,3,16 -304,201,1704461820,4,4,52 -305,201,1704461820,5,5,16 -306,202,1704461830,1,1,48 -307,202,1704461830,2,2,122 -308,206,1704461840,1,1,35 -309,206,1704461840,2,2,47 -310,206,1704461840,3,3,20 -311,206,1704461840,4,4,20 +0,177,1704418610,1,1,43 +1,177,1704418610,2,2,27 +2,177,1704418610,3,3,70 +3,177,1704418610,4,4,40 +0,177,1704418789,1,1,42 +1,177,1704418789,2,2,26 +2,177,1704418789,3,3,69 +3,177,1704418789,4,4,39 +0,177,1704418970,1,1,43 +1,177,1704418970,2,2,27 +2,177,1704418970,3,3,70 +3,177,1704418970,4,4,40 +0,177,1704419150,1,1,43 +1,177,1704419150,2,2,27 +2,177,1704419150,3,3,70 +3,177,1704419150,4,4,40 +0,177,1704419330,1,1,31 +1,177,1704419330,2,2,19 +2,177,1704419330,3,3,50 +3,177,1704419330,4,4,28 +0,177,1704419690,1,1,43 +1,177,1704419690,2,2,27 +2,177,1704419690,3,3,70 +3,177,1704419690,4,4,40 +0,177,1704419820,1,1,31 +1,177,1704419820,2,2,19 +2,177,1704419820,3,3,50 +3,177,1704419820,4,4,28 +0,176,1704418520,1,1,37 +1,176,1704418520,2,2,103 +2,176,1704418520,3,3,40 +0,176,1704418700,1,1,37 +1,176,1704418700,2,2,103 +2,176,1704418700,3,3,40 +0,176,1704418879,1,1,36 +1,176,1704418879,2,2,102 +2,176,1704418879,3,3,39 +0,176,1704419060,1,1,37 +1,176,1704419060,2,2,103 +2,176,1704419060,3,3,40 +0,176,1704419420,1,1,37 +1,176,1704419420,2,2,103 +2,176,1704419420,3,3,40 +0,176,1704419600,1,1,37 +1,176,1704419600,2,2,103 +2,176,1704419600,3,3,40 +0,176,1704419780,1,1,37 +1,176,1704419780,2,2,103 +2,176,1704419780,3,3,40 +0,175,1704418520,1,1,43 +1,175,1704418520,2,2,45 +2,175,1704418520,3,3,33 +3,175,1704418520,3,4,22 +4,175,1704418520,4,4,37 +0,175,1704418699,1,1,42 +1,175,1704418699,2,2,44 +2,175,1704418699,3,3,32 +3,175,1704418699,3,4,22 +4,175,1704418699,4,4,36 +0,175,1704418880,1,1,43 +1,175,1704418880,2,2,45 +2,175,1704418880,3,3,33 +3,175,1704418880,3,4,22 +4,175,1704418880,4,4,37 +0,175,1704419060,1,1,43 +1,175,1704419060,2,2,45 +2,175,1704419060,3,3,33 +3,175,1704419060,3,4,22 +4,175,1704419060,4,4,37 +0,175,1704419420,1,1,43 +1,175,1704419420,2,2,45 +2,175,1704419420,3,3,33 +3,175,1704419420,3,4,22 +4,175,1704419420,4,4,37 +0,175,1704419600,1,1,43 +1,175,1704419600,2,2,45 +2,175,1704419600,3,3,33 +3,175,1704419600,3,4,22 +4,175,1704419600,4,4,37 +0,175,1704419780,1,1,43 +1,175,1704419780,2,2,45 +2,175,1704419780,3,3,33 +3,175,1704419780,3,4,22 +4,175,1704419780,4,4,37 +0,206,1704418560,1,1,45 +1,206,1704418560,2,2,53 +2,206,1704418560,3,3,26 +3,206,1704418560,4,4,26 +0,206,1704418711,1,1,45 +1,206,1704418711,2,2,53 +2,206,1704418711,3,3,26 +3,206,1704418711,4,4,26 +0,206,1704418860,1,1,45 +1,206,1704418860,2,2,53 +2,206,1704418860,3,3,26 +3,206,1704418860,4,4,26 +0,206,1704419010,1,1,45 +1,206,1704419010,2,2,53 +2,206,1704419010,3,3,26 +3,206,1704419010,4,4,26 +0,206,1704419160,1,1,45 +1,206,1704419160,2,2,53 +2,206,1704419160,3,3,26 +3,206,1704419160,4,4,26 +0,206,1704419460,1,1,45 +1,206,1704419460,2,2,53 +2,206,1704419460,3,3,26 +3,206,1704419460,4,4,26 +0,206,1704419610,1,1,45 +1,206,1704419610,2,2,53 +2,206,1704419610,3,3,26 +3,206,1704419610,4,4,26 +0,206,1704419760,1,1,45 +1,206,1704419760,2,2,53 +2,206,1704419760,3,3,26 +3,206,1704419760,4,4,26 +0,210,1704418580,1,1,28 +1,210,1704418580,1,2,15 +2,210,1704418580,2,2,43 +3,210,1704418580,3,3,70 +4,210,1704418580,4,4,24 +0,210,1704418759,1,1,27 +1,210,1704418759,1,2,15 +2,210,1704418759,2,2,42 +3,210,1704418759,3,3,69 +4,210,1704418759,4,4,23 +0,210,1704418940,1,1,28 +1,210,1704418940,1,2,15 +2,210,1704418940,2,2,43 +3,210,1704418940,3,3,70 +4,210,1704418940,4,4,24 +0,210,1704419120,1,1,28 +1,210,1704419120,1,2,15 +2,210,1704419120,2,2,43 +3,210,1704419120,3,3,70 +4,210,1704419120,4,4,24 +0,210,1704419300,1,1,24 +1,210,1704419300,1,2,14 +2,210,1704419300,2,2,38 +3,210,1704419300,3,3,62 +4,210,1704419300,4,4,21 +0,210,1704419660,1,1,28 +1,210,1704419660,1,2,15 +2,210,1704419660,2,2,43 +3,210,1704419660,3,3,70 +4,210,1704419660,4,4,24 +0,210,1704419820,1,1,24 +1,210,1704419820,1,2,14 +2,210,1704419820,2,2,38 +3,210,1704419820,3,3,62 +4,210,1704419820,4,4,21 +0,202,1704418650,1,1,46 +1,202,1704418650,2,2,114 +0,202,1704418810,1,1,46 +1,202,1704418810,2,2,114 +0,202,1704418970,1,1,46 +1,202,1704418970,2,2,114 +0,202,1704419129,1,1,45 +1,202,1704419129,2,2,113 +0,202,1704419449,1,1,46 +1,202,1704419449,2,2,114 +0,202,1704419609,1,1,46 +1,202,1704419609,2,2,114 +0,202,1704419769,1,1,46 +1,202,1704419769,2,2,114 +0,178,1704418560,1,1,38 +1,178,1704418560,2,2,39 +2,178,1704418560,3,3,43 +3,178,1704418560,4,3,28 +4,178,1704418560,4,4,22 +0,178,1704418730,1,1,38 +1,178,1704418730,2,2,39 +2,178,1704418730,3,3,43 +3,178,1704418730,4,3,28 +4,178,1704418730,4,4,22 +0,178,1704418900,1,1,38 +1,178,1704418900,2,2,39 +2,178,1704418900,3,3,43 +3,178,1704418900,4,3,28 +4,178,1704418900,4,4,22 +0,178,1704419070,1,1,38 +1,178,1704419070,2,2,39 +2,178,1704419070,3,3,43 +3,178,1704419070,4,3,28 +4,178,1704419070,4,4,22 +0,178,1704419410,1,1,38 +1,178,1704419410,2,2,39 +2,178,1704419410,3,3,43 +3,178,1704419410,4,3,28 +4,178,1704419410,4,4,22 +0,178,1704419580,1,1,38 +1,178,1704419580,2,2,39 +2,178,1704419580,3,3,43 +3,178,1704419580,4,3,28 +4,178,1704419580,4,4,22 +0,178,1704419750,1,1,38 +1,178,1704419750,2,2,39 +2,178,1704419750,3,3,43 +3,178,1704419750,4,3,28 +4,178,1704419750,4,4,22 +0,201,1704418600,1,1,33 +1,201,1704418600,2,2,36 +2,201,1704418600,3,3,25 +3,201,1704418600,4,4,58 +4,201,1704418600,5,5,18 +0,201,1704418770,1,1,33 +1,201,1704418770,2,2,36 +2,201,1704418770,3,3,25 +3,201,1704418770,4,4,58 +4,201,1704418770,5,5,18 +0,201,1704418940,1,1,33 +1,201,1704418940,2,2,36 +2,201,1704418940,3,3,25 +3,201,1704418940,4,4,58 +4,201,1704418940,5,5,18 +0,201,1704419110,1,1,33 +1,201,1704419110,2,2,36 +2,201,1704419110,3,3,25 +3,201,1704419110,4,4,58 +4,201,1704419110,5,5,18 +0,201,1704419450,1,1,33 +1,201,1704419450,2,2,36 +2,201,1704419450,3,3,25 +3,201,1704419450,4,4,58 +4,201,1704419450,5,5,18 +0,201,1704419620,1,1,33 +1,201,1704419620,2,2,36 +2,201,1704419620,3,3,25 +3,201,1704419620,4,4,58 +4,201,1704419620,5,5,18 +0,201,1704419790,1,1,33 +1,201,1704419790,2,2,36 +2,201,1704419790,3,3,25 +3,201,1704419790,4,4,58 +4,201,1704419790,5,5,18 diff --git a/Analysis/0207_unit_test/sigtable.csv b/Analysis/0207_unit_test/sigtable.csv index 998daad60..539c680a5 100644 --- a/Analysis/0207_unit_test/sigtable.csv +++ b/Analysis/0207_unit_test/sigtable.csv @@ -1,369 +1,317 @@ ,node_id,start_unix,phase_sumo,duration,state,start_dt -0,i9,1704460810,0,48,GGGG,2024-01-05 22:20:10 -1,i9,1704460810,1,122,rrrr,2024-01-05 22:20:10 -2,i1,1704460820,0,37,gGGGGGrgrr,2024-01-05 22:20:20 -3,i1,1704460820,1,113,grrGGGGgrr,2024-01-05 22:20:20 -4,i1,1704460820,2,40,grrrrrrgGG,2024-01-05 22:20:20 -5,c30,1704460840,0,38,rrrrrr,2024-01-05 22:20:40 -6,c30,1704460840,1,39,GGGGGG,2024-01-05 22:20:40 -7,c30,1704460840,2,44,GGGGGG,2024-01-05 22:20:40 -8,c30,1704460840,3,59,GGGGGG,2024-01-05 22:20:40 -9,i2,1704460840,0,45,GGggGGG,2024-01-05 22:20:40 -10,i2,1704460840,1,32,rrggrrr,2024-01-05 22:20:40 -11,i2,1704460840,2,77,rrggrrr,2024-01-05 22:20:40 -12,i2,1704460840,3,36,rrggGGG,2024-01-05 22:20:40 -13,i3,1704460840,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:20:40 -14,i3,1704460840,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:20:40 -15,i3,1704460840,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:20:40 -16,i3,1704460840,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:20:40 -17,u20,1704460840,0,45,ggrggg,2024-01-05 22:20:40 -18,u20,1704460840,1,32,ggrggg,2024-01-05 22:20:40 -19,u20,1704460840,2,77,ggGggg,2024-01-05 22:20:40 -20,u20,1704460840,3,36,ggrggg,2024-01-05 22:20:40 -21,u30,1704460840,0,38,ggggrggg,2024-01-05 22:20:40 -22,u30,1704460840,1,39,ggggrggg,2024-01-05 22:20:40 -23,u30,1704460840,2,44,ggggrggg,2024-01-05 22:20:40 -24,u30,1704460840,3,59,ggggGggg,2024-01-05 22:20:40 -25,u31,1704460840,0,38,ggggGggg,2024-01-05 22:20:40 -26,u31,1704460840,1,39,ggggrggg,2024-01-05 22:20:40 -27,u31,1704460840,2,44,ggggrggg,2024-01-05 22:20:40 -28,u31,1704460840,3,59,ggggrggg,2024-01-05 22:20:40 -29,u32,1704460840,0,38,gggggggG,2024-01-05 22:20:40 -30,u32,1704460840,1,39,gggggggr,2024-01-05 22:20:40 -31,u32,1704460840,2,44,gggggggr,2024-01-05 22:20:40 -32,u32,1704460840,3,59,gggggggr,2024-01-05 22:20:40 -33,i6,1704460890,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:21:30 -34,i6,1704460890,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:21:30 -35,i6,1704460890,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:21:30 -36,i6,1704460890,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:21:30 -37,i6,1704460890,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:21:30 -38,u60,1704460890,0,43,ggggggggr,2024-01-05 22:21:30 -39,u60,1704460890,1,0,ggggggggr,2024-01-05 22:21:30 -40,u60,1704460890,2,47,ggggggggG,2024-01-05 22:21:30 -41,u60,1704460890,3,75,ggggggggr,2024-01-05 22:21:30 -42,u60,1704460890,4,25,ggggggggr,2024-01-05 22:21:30 -43,i7,1704460920,0,46,GGrggGG,2024-01-05 22:22:00 -44,i7,1704460920,1,62,rrrggrr,2024-01-05 22:22:00 -45,i7,1704460920,2,26,GGrggGG,2024-01-05 22:22:00 -46,i7,1704460920,3,26,rrrggrr,2024-01-05 22:22:00 -47,i8,1704460940,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:22:20 -48,i8,1704460940,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:22:20 -49,i8,1704460940,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:22:20 -50,i8,1704460940,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:22:20 -51,i8,1704460940,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:22:20 -52,i0,1704460980,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 22:23:00 -53,i0,1704460980,1,48,grrGgrrrgrrrrGgrr,2024-01-05 22:23:00 -54,i0,1704460980,2,55,grrrgGGGgrrrrrgrr,2024-01-05 22:23:00 -55,i0,1704460980,3,0,grrrgGGrgrrrrrgGr,2024-01-05 22:23:00 -56,i0,1704460980,4,41,grrrgrrrgrrrrrgGG,2024-01-05 22:23:00 -57,i9,1704460980,0,48,GGGG,2024-01-05 22:23:00 -58,i9,1704460980,1,122,rrrr,2024-01-05 22:23:00 -59,u00,1704460980,0,46,ggggrgggg,2024-01-05 22:23:00 -60,u00,1704460980,1,48,ggggGgggg,2024-01-05 22:23:00 -61,u00,1704460980,2,55,ggggrgggg,2024-01-05 22:23:00 -62,u00,1704460980,3,0,ggggrgggg,2024-01-05 22:23:00 -63,u00,1704460980,4,41,ggggrgggg,2024-01-05 22:23:00 -64,i1,1704461009,0,37,gGGGGGrgrr,2024-01-05 22:23:29 -65,i1,1704461009,1,112,grrGGGGgrr,2024-01-05 22:23:29 -66,i1,1704461009,2,40,grrrrrrgGG,2024-01-05 22:23:29 -67,c30,1704461020,0,38,rrrrrr,2024-01-05 22:23:40 -68,c30,1704461020,1,39,GGGGGG,2024-01-05 22:23:40 -69,c30,1704461020,2,44,GGGGGG,2024-01-05 22:23:40 -70,c30,1704461020,3,59,GGGGGG,2024-01-05 22:23:40 -71,i3,1704461020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:23:40 -72,i3,1704461020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:23:40 -73,i3,1704461020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:23:40 -74,i3,1704461020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:23:40 -75,u30,1704461020,0,38,ggggrggg,2024-01-05 22:23:40 -76,u30,1704461020,1,39,ggggrggg,2024-01-05 22:23:40 -77,u30,1704461020,2,44,ggggrggg,2024-01-05 22:23:40 -78,u30,1704461020,3,59,ggggGggg,2024-01-05 22:23:40 -79,u31,1704461020,0,38,ggggGggg,2024-01-05 22:23:40 -80,u31,1704461020,1,39,ggggrggg,2024-01-05 22:23:40 -81,u31,1704461020,2,44,ggggrggg,2024-01-05 22:23:40 -82,u31,1704461020,3,59,ggggrggg,2024-01-05 22:23:40 -83,u32,1704461020,0,38,gggggggG,2024-01-05 22:23:40 -84,u32,1704461020,1,39,gggggggr,2024-01-05 22:23:40 -85,u32,1704461020,2,44,gggggggr,2024-01-05 22:23:40 -86,u32,1704461020,3,59,gggggggr,2024-01-05 22:23:40 -87,i2,1704461030,0,45,GGggGGG,2024-01-05 22:23:50 -88,i2,1704461030,1,32,rrggrrr,2024-01-05 22:23:50 -89,i2,1704461030,2,77,rrggrrr,2024-01-05 22:23:50 -90,i2,1704461030,3,36,rrggGGG,2024-01-05 22:23:50 -91,u20,1704461030,0,45,ggrggg,2024-01-05 22:23:50 -92,u20,1704461030,1,32,ggrggg,2024-01-05 22:23:50 -93,u20,1704461030,2,77,ggGggg,2024-01-05 22:23:50 -94,u20,1704461030,3,36,ggrggg,2024-01-05 22:23:50 -95,i6,1704461080,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:24:40 -96,i6,1704461080,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:24:40 -97,i6,1704461080,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:24:40 -98,i6,1704461080,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:24:40 -99,i6,1704461080,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:24:40 -100,i7,1704461080,0,46,GGrggGG,2024-01-05 22:24:40 -101,i7,1704461080,1,62,rrrggrr,2024-01-05 22:24:40 -102,i7,1704461080,2,26,GGrggGG,2024-01-05 22:24:40 -103,i7,1704461080,3,26,rrrggrr,2024-01-05 22:24:40 -104,u60,1704461080,0,43,ggggggggr,2024-01-05 22:24:40 -105,u60,1704461080,1,0,ggggggggr,2024-01-05 22:24:40 -106,u60,1704461080,2,47,ggggggggG,2024-01-05 22:24:40 -107,u60,1704461080,3,75,ggggggggr,2024-01-05 22:24:40 -108,u60,1704461080,4,25,ggggggggr,2024-01-05 22:24:40 -109,i8,1704461120,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:25:20 -110,i8,1704461120,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:25:20 -111,i8,1704461120,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:25:20 -112,i8,1704461120,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:25:20 -113,i8,1704461120,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:25:20 -114,i9,1704461150,0,48,GGGG,2024-01-05 22:25:50 -115,i9,1704461150,1,122,rrrr,2024-01-05 22:25:50 -116,i0,1704461170,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 22:26:10 -117,i0,1704461170,1,48,grrGgrrrgrrrrGgrr,2024-01-05 22:26:10 -118,i0,1704461170,2,55,grrrgGGGgrrrrrgrr,2024-01-05 22:26:10 -119,i0,1704461170,3,0,grrrgGGrgrrrrrgGr,2024-01-05 22:26:10 -120,i0,1704461170,4,41,grrrgrrrgrrrrrgGG,2024-01-05 22:26:10 -121,u00,1704461170,0,46,ggggrgggg,2024-01-05 22:26:10 -122,u00,1704461170,1,48,ggggGgggg,2024-01-05 22:26:10 -123,u00,1704461170,2,55,ggggrgggg,2024-01-05 22:26:10 -124,u00,1704461170,3,0,ggggrgggg,2024-01-05 22:26:10 -125,u00,1704461170,4,41,ggggrgggg,2024-01-05 22:26:10 -126,c30,1704461200,0,38,rrrrrr,2024-01-05 22:26:40 -127,c30,1704461200,1,39,GGGGGG,2024-01-05 22:26:40 -128,c30,1704461200,2,44,GGGGGG,2024-01-05 22:26:40 -129,c30,1704461200,3,59,GGGGGG,2024-01-05 22:26:40 -130,i1,1704461200,0,37,gGGGGGrgrr,2024-01-05 22:26:40 -131,i1,1704461200,1,114,grrGGGGgrr,2024-01-05 22:26:40 -132,i1,1704461200,2,40,grrrrrrgGG,2024-01-05 22:26:40 -133,i3,1704461200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:26:40 -134,i3,1704461200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:26:40 -135,i3,1704461200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:26:40 -136,i3,1704461200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:26:40 -137,u30,1704461200,0,38,ggggrggg,2024-01-05 22:26:40 -138,u30,1704461200,1,39,ggggrggg,2024-01-05 22:26:40 -139,u30,1704461200,2,44,ggggrggg,2024-01-05 22:26:40 -140,u30,1704461200,3,59,ggggGggg,2024-01-05 22:26:40 -141,u31,1704461200,0,38,ggggGggg,2024-01-05 22:26:40 -142,u31,1704461200,1,39,ggggrggg,2024-01-05 22:26:40 -143,u31,1704461200,2,44,ggggrggg,2024-01-05 22:26:40 -144,u31,1704461200,3,59,ggggrggg,2024-01-05 22:26:40 -145,u32,1704461200,0,38,gggggggG,2024-01-05 22:26:40 -146,u32,1704461200,1,39,gggggggr,2024-01-05 22:26:40 -147,u32,1704461200,2,44,gggggggr,2024-01-05 22:26:40 -148,u32,1704461200,3,59,gggggggr,2024-01-05 22:26:40 -149,i2,1704461220,0,45,GGggGGG,2024-01-05 22:27:00 -150,i2,1704461220,1,32,rrggrrr,2024-01-05 22:27:00 -151,i2,1704461220,2,77,rrggrrr,2024-01-05 22:27:00 -152,i2,1704461220,3,36,rrggGGG,2024-01-05 22:27:00 -153,u20,1704461220,0,45,ggrggg,2024-01-05 22:27:00 -154,u20,1704461220,1,32,ggrggg,2024-01-05 22:27:00 -155,u20,1704461220,2,77,ggGggg,2024-01-05 22:27:00 -156,u20,1704461220,3,36,ggrggg,2024-01-05 22:27:00 -157,i7,1704461240,0,46,GGrggGG,2024-01-05 22:27:20 -158,i7,1704461240,1,62,rrrggrr,2024-01-05 22:27:20 -159,i7,1704461240,2,26,GGrggGG,2024-01-05 22:27:20 -160,i7,1704461240,3,26,rrrggrr,2024-01-05 22:27:20 -161,i6,1704461270,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:27:50 -162,i6,1704461270,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:27:50 -163,i6,1704461270,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:27:50 -164,i6,1704461270,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:27:50 -165,i6,1704461270,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:27:50 -166,u60,1704461270,0,43,ggggggggr,2024-01-05 22:27:50 -167,u60,1704461270,1,0,ggggggggr,2024-01-05 22:27:50 -168,u60,1704461270,2,47,ggggggggG,2024-01-05 22:27:50 -169,u60,1704461270,3,75,ggggggggr,2024-01-05 22:27:50 -170,u60,1704461270,4,25,ggggggggr,2024-01-05 22:27:50 -171,i8,1704461300,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:28:20 -172,i8,1704461300,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:28:20 -173,i8,1704461300,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:28:20 -174,i8,1704461300,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:28:20 -175,i8,1704461300,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:28:20 -176,i9,1704461320,0,48,GGGG,2024-01-05 22:28:40 -177,i9,1704461320,1,122,rrrr,2024-01-05 22:28:40 -178,i0,1704461360,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 22:29:20 -179,i0,1704461360,1,48,grrGgrrrgrrrrGgrr,2024-01-05 22:29:20 -180,i0,1704461360,2,55,grrrgGGGgrrrrrgrr,2024-01-05 22:29:20 -181,i0,1704461360,3,0,grrrgGGrgrrrrrgGr,2024-01-05 22:29:20 -182,i0,1704461360,4,41,grrrgrrrgrrrrrgGG,2024-01-05 22:29:20 -183,u00,1704461360,0,46,ggggrgggg,2024-01-05 22:29:20 -184,u00,1704461360,1,48,ggggGgggg,2024-01-05 22:29:20 -185,u00,1704461360,2,55,ggggrgggg,2024-01-05 22:29:20 -186,u00,1704461360,3,0,ggggrgggg,2024-01-05 22:29:20 -187,u00,1704461360,4,41,ggggrgggg,2024-01-05 22:29:20 -188,c30,1704461380,0,38,rrrrrr,2024-01-05 22:29:40 -189,c30,1704461380,1,39,GGGGGG,2024-01-05 22:29:40 -190,c30,1704461380,2,44,GGGGGG,2024-01-05 22:29:40 -191,c30,1704461380,3,59,GGGGGG,2024-01-05 22:29:40 -192,i3,1704461380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:29:40 -193,i3,1704461380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:29:40 -194,i3,1704461380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:29:40 -195,i3,1704461380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:29:40 -196,u30,1704461380,0,38,ggggrggg,2024-01-05 22:29:40 -197,u30,1704461380,1,39,ggggrggg,2024-01-05 22:29:40 -198,u30,1704461380,2,44,ggggrggg,2024-01-05 22:29:40 -199,u30,1704461380,3,59,ggggGggg,2024-01-05 22:29:40 -200,u31,1704461380,0,38,ggggGggg,2024-01-05 22:29:40 -201,u31,1704461380,1,39,ggggrggg,2024-01-05 22:29:40 -202,u31,1704461380,2,44,ggggrggg,2024-01-05 22:29:40 -203,u31,1704461380,3,59,ggggrggg,2024-01-05 22:29:40 -204,u32,1704461380,0,38,gggggggG,2024-01-05 22:29:40 -205,u32,1704461380,1,39,gggggggr,2024-01-05 22:29:40 -206,u32,1704461380,2,44,gggggggr,2024-01-05 22:29:40 -207,u32,1704461380,3,59,gggggggr,2024-01-05 22:29:40 -208,i1,1704461390,0,37,gGGGGGrgrr,2024-01-05 22:29:50 -209,i1,1704461390,1,113,grrGGGGgrr,2024-01-05 22:29:50 -210,i1,1704461390,2,40,grrrrrrgGG,2024-01-05 22:29:50 -211,i7,1704461400,0,46,GGrggGG,2024-01-05 22:30:00 -212,i7,1704461400,1,62,rrrggrr,2024-01-05 22:30:00 -213,i7,1704461400,2,26,GGrggGG,2024-01-05 22:30:00 -214,i7,1704461400,3,26,rrrggrr,2024-01-05 22:30:00 -215,i2,1704461410,0,45,GGggGGG,2024-01-05 22:30:10 -216,i2,1704461410,1,32,rrggrrr,2024-01-05 22:30:10 -217,i2,1704461410,2,77,rrggrrr,2024-01-05 22:30:10 -218,i2,1704461410,3,36,rrggGGG,2024-01-05 22:30:10 -219,u20,1704461410,0,45,ggrggg,2024-01-05 22:30:10 -220,u20,1704461410,1,32,ggrggg,2024-01-05 22:30:10 -221,u20,1704461410,2,77,ggGggg,2024-01-05 22:30:10 -222,u20,1704461410,3,36,ggrggg,2024-01-05 22:30:10 -223,i6,1704461460,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:31:00 -224,i6,1704461460,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:31:00 -225,i6,1704461460,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:31:00 -226,i6,1704461460,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:31:00 -227,i6,1704461460,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:31:00 -228,u60,1704461460,0,43,ggggggggr,2024-01-05 22:31:00 -229,u60,1704461460,1,0,ggggggggr,2024-01-05 22:31:00 -230,u60,1704461460,2,47,ggggggggG,2024-01-05 22:31:00 -231,u60,1704461460,3,75,ggggggggr,2024-01-05 22:31:00 -232,u60,1704461460,4,25,ggggggggr,2024-01-05 22:31:00 -233,i8,1704461480,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:31:20 -234,i8,1704461480,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:31:20 -235,i8,1704461480,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:31:20 -236,i8,1704461480,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:31:20 -237,i8,1704461480,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:31:20 -238,i9,1704461490,0,48,GGGG,2024-01-05 22:31:30 -239,i9,1704461490,1,122,rrrr,2024-01-05 22:31:30 -240,i0,1704461550,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 22:32:30 -241,i0,1704461550,1,48,grrGgrrrgrrrrGgrr,2024-01-05 22:32:30 -242,i0,1704461550,2,55,grrrgGGGgrrrrrgrr,2024-01-05 22:32:30 -243,i0,1704461550,3,0,grrrgGGrgrrrrrgGr,2024-01-05 22:32:30 -244,i0,1704461550,4,41,grrrgrrrgrrrrrgGG,2024-01-05 22:32:30 -245,u00,1704461550,0,46,ggggrgggg,2024-01-05 22:32:30 -246,u00,1704461550,1,48,ggggGgggg,2024-01-05 22:32:30 -247,u00,1704461550,2,55,ggggrgggg,2024-01-05 22:32:30 -248,u00,1704461550,3,0,ggggrgggg,2024-01-05 22:32:30 -249,u00,1704461550,4,41,ggggrgggg,2024-01-05 22:32:30 -250,c30,1704461560,0,38,rrrrrr,2024-01-05 22:32:40 -251,c30,1704461560,1,39,GGGGGG,2024-01-05 22:32:40 -252,c30,1704461560,2,44,GGGGGG,2024-01-05 22:32:40 -253,c30,1704461560,3,59,GGGGGG,2024-01-05 22:32:40 -254,i3,1704461560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:32:40 -255,i3,1704461560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:32:40 -256,i3,1704461560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:32:40 -257,i3,1704461560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:32:40 -258,i7,1704461560,0,46,GGrggGG,2024-01-05 22:32:40 -259,i7,1704461560,1,62,rrrggrr,2024-01-05 22:32:40 -260,i7,1704461560,2,26,GGrggGG,2024-01-05 22:32:40 -261,i7,1704461560,3,26,rrrggrr,2024-01-05 22:32:40 -262,u30,1704461560,0,38,ggggrggg,2024-01-05 22:32:40 -263,u30,1704461560,1,39,ggggrggg,2024-01-05 22:32:40 -264,u30,1704461560,2,44,ggggrggg,2024-01-05 22:32:40 -265,u30,1704461560,3,59,ggggGggg,2024-01-05 22:32:40 -266,u31,1704461560,0,38,ggggGggg,2024-01-05 22:32:40 -267,u31,1704461560,1,39,ggggrggg,2024-01-05 22:32:40 -268,u31,1704461560,2,44,ggggrggg,2024-01-05 22:32:40 -269,u31,1704461560,3,59,ggggrggg,2024-01-05 22:32:40 -270,u32,1704461560,0,38,gggggggG,2024-01-05 22:32:40 -271,u32,1704461560,1,39,gggggggr,2024-01-05 22:32:40 -272,u32,1704461560,2,44,gggggggr,2024-01-05 22:32:40 -273,u32,1704461560,3,59,gggggggr,2024-01-05 22:32:40 -274,i1,1704461580,0,37,gGGGGGrgrr,2024-01-05 22:33:00 -275,i1,1704461580,1,113,grrGGGGgrr,2024-01-05 22:33:00 -276,i1,1704461580,2,40,grrrrrrgGG,2024-01-05 22:33:00 -277,i2,1704461600,0,45,GGggGGG,2024-01-05 22:33:20 -278,i2,1704461600,1,32,rrggrrr,2024-01-05 22:33:20 -279,i2,1704461600,2,77,rrggrrr,2024-01-05 22:33:20 -280,i2,1704461600,3,36,rrggGGG,2024-01-05 22:33:20 -281,u20,1704461600,0,45,ggrggg,2024-01-05 22:33:20 -282,u20,1704461600,1,32,ggrggg,2024-01-05 22:33:20 -283,u20,1704461600,2,77,ggGggg,2024-01-05 22:33:20 -284,u20,1704461600,3,36,ggrggg,2024-01-05 22:33:20 -285,i6,1704461650,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:34:10 -286,i6,1704461650,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:34:10 -287,i6,1704461650,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:34:10 -288,i6,1704461650,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:34:10 -289,i6,1704461650,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:34:10 -290,u60,1704461650,0,43,ggggggggr,2024-01-05 22:34:10 -291,u60,1704461650,1,0,ggggggggr,2024-01-05 22:34:10 -292,u60,1704461650,2,47,ggggggggG,2024-01-05 22:34:10 -293,u60,1704461650,3,75,ggggggggr,2024-01-05 22:34:10 -294,u60,1704461650,4,25,ggggggggr,2024-01-05 22:34:10 -295,i8,1704461660,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:34:20 -296,i8,1704461660,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:34:20 -297,i8,1704461660,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:34:20 -298,i8,1704461660,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:34:20 -299,i8,1704461660,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:34:20 -300,i9,1704461660,0,48,GGGG,2024-01-05 22:34:20 -301,i9,1704461660,1,122,rrrr,2024-01-05 22:34:20 -302,i7,1704461720,0,46,GGrggGG,2024-01-05 22:35:20 -303,i7,1704461720,1,62,rrrggrr,2024-01-05 22:35:20 -304,i7,1704461720,2,26,GGrggGG,2024-01-05 22:35:20 -305,i7,1704461720,3,26,rrrggrr,2024-01-05 22:35:20 -306,c30,1704461740,0,38,rrrrrr,2024-01-05 22:35:40 -307,c30,1704461740,1,39,GGGGGG,2024-01-05 22:35:40 -308,c30,1704461740,2,44,GGGGGG,2024-01-05 22:35:40 -309,c30,1704461740,3,59,GGGGGG,2024-01-05 22:35:40 -310,i0,1704461740,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 22:35:40 -311,i0,1704461740,1,48,grrGgrrrgrrrrGgrr,2024-01-05 22:35:40 -312,i0,1704461740,2,55,grrrgGGGgrrrrrgrr,2024-01-05 22:35:40 -313,i0,1704461740,3,0,grrrgGGrgrrrrrgGr,2024-01-05 22:35:40 -314,i0,1704461740,4,41,grrrgrrrgrrrrrgGG,2024-01-05 22:35:40 -315,i3,1704461740,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:35:40 -316,i3,1704461740,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:35:40 -317,i3,1704461740,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:35:40 -318,i3,1704461740,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:35:40 -319,u00,1704461740,0,46,ggggrgggg,2024-01-05 22:35:40 -320,u00,1704461740,1,48,ggggGgggg,2024-01-05 22:35:40 -321,u00,1704461740,2,55,ggggrgggg,2024-01-05 22:35:40 -322,u00,1704461740,3,0,ggggrgggg,2024-01-05 22:35:40 -323,u00,1704461740,4,41,ggggrgggg,2024-01-05 22:35:40 -324,u30,1704461740,0,38,ggggrggg,2024-01-05 22:35:40 -325,u30,1704461740,1,39,ggggrggg,2024-01-05 22:35:40 -326,u30,1704461740,2,44,ggggrggg,2024-01-05 22:35:40 -327,u30,1704461740,3,59,ggggGggg,2024-01-05 22:35:40 -328,u31,1704461740,0,38,ggggGggg,2024-01-05 22:35:40 -329,u31,1704461740,1,39,ggggrggg,2024-01-05 22:35:40 -330,u31,1704461740,2,44,ggggrggg,2024-01-05 22:35:40 -331,u31,1704461740,3,59,ggggrggg,2024-01-05 22:35:40 -332,u32,1704461740,0,38,gggggggG,2024-01-05 22:35:40 -333,u32,1704461740,1,39,gggggggr,2024-01-05 22:35:40 -334,u32,1704461740,2,44,gggggggr,2024-01-05 22:35:40 -335,u32,1704461740,3,59,gggggggr,2024-01-05 22:35:40 -336,i1,1704461770,0,37,gGGGGGrgrr,2024-01-05 22:36:10 -337,i1,1704461770,1,113,grrGGGGgrr,2024-01-05 22:36:10 -338,i1,1704461770,2,40,grrrrrrgGG,2024-01-05 22:36:10 -339,i2,1704461790,0,45,GGggGGG,2024-01-05 22:36:30 -340,i2,1704461790,1,32,rrggrrr,2024-01-05 22:36:30 -341,i2,1704461790,2,77,rrggrrr,2024-01-05 22:36:30 -342,i2,1704461790,3,36,rrggGGG,2024-01-05 22:36:30 -343,u20,1704461790,0,45,ggrggg,2024-01-05 22:36:30 -344,u20,1704461790,1,32,ggrggg,2024-01-05 22:36:30 -345,u20,1704461790,2,77,ggGggg,2024-01-05 22:36:30 -346,u20,1704461790,3,36,ggrggg,2024-01-05 22:36:30 -347,i6,1704461810,0,36,grrrgGGGrgrrgrrr,2024-01-05 22:36:50 -348,i6,1704461810,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:36:50 -349,i6,1704461810,2,40,grrrgrrrrgrrgGGG,2024-01-05 22:36:50 -350,i6,1704461810,3,63,gGGGgrrrrgrrgrrr,2024-01-05 22:36:50 -351,i6,1704461810,4,21,grrrgrrrrgGGgrrr,2024-01-05 22:36:50 -352,u60,1704461810,0,36,ggggggggr,2024-01-05 22:36:50 -353,u60,1704461810,1,0,ggggggggr,2024-01-05 22:36:50 -354,u60,1704461810,2,40,ggggggggG,2024-01-05 22:36:50 -355,u60,1704461810,3,63,ggggggggr,2024-01-05 22:36:50 -356,u60,1704461810,4,21,ggggggggr,2024-01-05 22:36:50 -357,i8,1704461820,0,32,grrrrrrrgGGGgrrr,2024-01-05 22:37:00 -358,i8,1704461820,1,44,grrrrrrrgrrrgGGG,2024-01-05 22:37:00 -359,i8,1704461820,2,16,grrrGGGrgrrrgGGr,2024-01-05 22:37:00 -360,i8,1704461820,3,52,grrrGGGGgrrrgrrr,2024-01-05 22:37:00 -361,i8,1704461820,4,16,gGGGrrrrgrrrgrrr,2024-01-05 22:37:00 -362,i9,1704461830,0,48,GGGG,2024-01-05 22:37:10 -363,i9,1704461830,1,122,rrrr,2024-01-05 22:37:10 -364,i7,1704461840,0,35,GGrggGG,2024-01-05 22:37:20 -365,i7,1704461840,1,47,rrrggrr,2024-01-05 22:37:20 -366,i7,1704461840,2,20,GGrggGG,2024-01-05 22:37:20 -367,i7,1704461840,3,20,rrrggrr,2024-01-05 22:37:20 +0,i2,1704418970,0,43,GGggGGG,2024-01-05 10:42:50 +1,i2,1704418970,1,27,rrggrrr,2024-01-05 10:42:50 +2,i2,1704418970,2,70,rrggrrr,2024-01-05 10:42:50 +3,i2,1704418970,3,40,rrggGGG,2024-01-05 10:42:50 +4,i2,1704419150,0,43,GGggGGG,2024-01-05 10:45:50 +5,i2,1704419150,1,27,rrggrrr,2024-01-05 10:45:50 +6,i2,1704419150,2,70,rrggrrr,2024-01-05 10:45:50 +7,i2,1704419150,3,40,rrggGGG,2024-01-05 10:45:50 +8,i2,1704419330,0,31,GGggGGG,2024-01-05 10:48:50 +9,i2,1704419330,1,19,rrggrrr,2024-01-05 10:48:50 +10,i2,1704419330,2,50,rrggrrr,2024-01-05 10:48:50 +11,i2,1704419330,3,28,rrggGGG,2024-01-05 10:48:50 +12,i2,1704419690,0,43,GGggGGG,2024-01-05 10:54:50 +13,i2,1704419690,1,27,rrggrrr,2024-01-05 10:54:50 +14,i2,1704419690,2,70,rrggrrr,2024-01-05 10:54:50 +15,i2,1704419690,3,40,rrggGGG,2024-01-05 10:54:50 +16,i2,1704419820,0,31,GGggGGG,2024-01-05 10:57:00 +17,i2,1704419820,1,19,rrggrrr,2024-01-05 10:57:00 +18,i2,1704419820,2,50,rrggrrr,2024-01-05 10:57:00 +19,i2,1704419820,3,28,rrggGGG,2024-01-05 10:57:00 +20,i1,1704418879,0,36,gGGGGGrgrr,2024-01-05 10:41:19 +21,i1,1704418879,1,102,grrGGGGgrr,2024-01-05 10:41:19 +22,i1,1704418879,2,39,grrrrrrgGG,2024-01-05 10:41:19 +23,i1,1704419060,0,37,gGGGGGrgrr,2024-01-05 10:44:20 +24,i1,1704419060,1,103,grrGGGGgrr,2024-01-05 10:44:20 +25,i1,1704419060,2,40,grrrrrrgGG,2024-01-05 10:44:20 +26,i1,1704419420,0,37,gGGGGGrgrr,2024-01-05 10:50:20 +27,i1,1704419420,1,103,grrGGGGgrr,2024-01-05 10:50:20 +28,i1,1704419420,2,40,grrrrrrgGG,2024-01-05 10:50:20 +29,i1,1704419600,0,37,gGGGGGrgrr,2024-01-05 10:53:20 +30,i1,1704419600,1,103,grrGGGGgrr,2024-01-05 10:53:20 +31,i1,1704419600,2,40,grrrrrrgGG,2024-01-05 10:53:20 +32,i1,1704419780,0,37,gGGGGGrgrr,2024-01-05 10:56:20 +33,i1,1704419780,1,103,grrGGGGgrr,2024-01-05 10:56:20 +34,i1,1704419780,2,40,grrrrrrgGG,2024-01-05 10:56:20 +35,i0,1704418880,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:41:20 +36,i0,1704418880,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:41:20 +37,i0,1704418880,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:41:20 +38,i0,1704418880,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:41:20 +39,i0,1704418880,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:41:20 +40,i0,1704419060,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:44:20 +41,i0,1704419060,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:44:20 +42,i0,1704419060,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:44:20 +43,i0,1704419060,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:44:20 +44,i0,1704419060,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:44:20 +45,i0,1704419420,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:50:20 +46,i0,1704419420,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:50:20 +47,i0,1704419420,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:50:20 +48,i0,1704419420,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:50:20 +49,i0,1704419420,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:50:20 +50,i0,1704419600,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:53:20 +51,i0,1704419600,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:53:20 +52,i0,1704419600,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:53:20 +53,i0,1704419600,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:53:20 +54,i0,1704419600,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:53:20 +55,i0,1704419780,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:56:20 +56,i0,1704419780,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:56:20 +57,i0,1704419780,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:56:20 +58,i0,1704419780,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:56:20 +59,i0,1704419780,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:56:20 +60,i7,1704418860,0,45,GGrggGG,2024-01-05 10:41:00 +61,i7,1704418860,1,53,rrrggrr,2024-01-05 10:41:00 +62,i7,1704418860,2,26,GGrggGG,2024-01-05 10:41:00 +63,i7,1704418860,3,26,rrrggrr,2024-01-05 10:41:00 +64,i7,1704419010,0,45,GGrggGG,2024-01-05 10:43:30 +65,i7,1704419010,1,53,rrrggrr,2024-01-05 10:43:30 +66,i7,1704419010,2,26,GGrggGG,2024-01-05 10:43:30 +67,i7,1704419010,3,26,rrrggrr,2024-01-05 10:43:30 +68,i7,1704419160,0,45,GGrggGG,2024-01-05 10:46:00 +69,i7,1704419160,1,53,rrrggrr,2024-01-05 10:46:00 +70,i7,1704419160,2,26,GGrggGG,2024-01-05 10:46:00 +71,i7,1704419160,3,26,rrrggrr,2024-01-05 10:46:00 +72,i7,1704419460,0,45,GGrggGG,2024-01-05 10:51:00 +73,i7,1704419460,1,53,rrrggrr,2024-01-05 10:51:00 +74,i7,1704419460,2,26,GGrggGG,2024-01-05 10:51:00 +75,i7,1704419460,3,26,rrrggrr,2024-01-05 10:51:00 +76,i7,1704419610,0,45,GGrggGG,2024-01-05 10:53:30 +77,i7,1704419610,1,53,rrrggrr,2024-01-05 10:53:30 +78,i7,1704419610,2,26,GGrggGG,2024-01-05 10:53:30 +79,i7,1704419610,3,26,rrrggrr,2024-01-05 10:53:30 +80,i7,1704419760,0,45,GGrggGG,2024-01-05 10:56:00 +81,i7,1704419760,1,53,rrrggrr,2024-01-05 10:56:00 +82,i7,1704419760,2,26,GGrggGG,2024-01-05 10:56:00 +83,i7,1704419760,3,26,rrrggrr,2024-01-05 10:56:00 +84,i6,1704418940,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:42:20 +85,i6,1704418940,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:42:20 +86,i6,1704418940,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:42:20 +87,i6,1704418940,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:42:20 +88,i6,1704418940,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:42:20 +89,i6,1704419120,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:45:20 +90,i6,1704419120,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:45:20 +91,i6,1704419120,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:45:20 +92,i6,1704419120,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:45:20 +93,i6,1704419120,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:45:20 +94,i6,1704419300,0,24,grrrgGGGrgrrgrrr,2024-01-05 10:48:20 +95,i6,1704419300,1,14,grrrgGGGrgrrgGGr,2024-01-05 10:48:20 +96,i6,1704419300,2,38,grrrgrrrrgrrgGGG,2024-01-05 10:48:20 +97,i6,1704419300,3,62,gGGGgrrrrgrrgrrr,2024-01-05 10:48:20 +98,i6,1704419300,4,21,grrrgrrrrgGGgrrr,2024-01-05 10:48:20 +99,i6,1704419660,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:54:20 +100,i6,1704419660,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:54:20 +101,i6,1704419660,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:54:20 +102,i6,1704419660,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:54:20 +103,i6,1704419660,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:54:20 +104,i6,1704419820,0,24,grrrgGGGrgrrgrrr,2024-01-05 10:57:00 +105,i6,1704419820,1,14,grrrgGGGrgrrgGGr,2024-01-05 10:57:00 +106,i6,1704419820,2,38,grrrgrrrrgrrgGGG,2024-01-05 10:57:00 +107,i6,1704419820,3,62,gGGGgrrrrgrrgrrr,2024-01-05 10:57:00 +108,i6,1704419820,4,21,grrrgrrrrgGGgrrr,2024-01-05 10:57:00 +109,i9,1704418810,0,46,GGGG,2024-01-05 10:40:10 +110,i9,1704418810,1,114,rrrr,2024-01-05 10:40:10 +111,i9,1704418970,0,46,GGGG,2024-01-05 10:42:50 +112,i9,1704418970,1,114,rrrr,2024-01-05 10:42:50 +113,i9,1704419129,0,45,GGGG,2024-01-05 10:45:29 +114,i9,1704419129,1,113,rrrr,2024-01-05 10:45:29 +115,i9,1704419449,0,46,GGGG,2024-01-05 10:50:49 +116,i9,1704419449,1,114,rrrr,2024-01-05 10:50:49 +117,i9,1704419609,0,46,GGGG,2024-01-05 10:53:29 +118,i9,1704419609,1,114,rrrr,2024-01-05 10:53:29 +119,i9,1704419769,0,46,GGGG,2024-01-05 10:56:09 +120,i9,1704419769,1,114,rrrr,2024-01-05 10:56:09 +121,i3,1704418900,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:41:40 +122,i3,1704418900,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:41:40 +123,i3,1704418900,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:41:40 +124,i3,1704418900,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:41:40 +125,i3,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +126,i3,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +127,i3,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +128,i3,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +129,i3,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +130,i3,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +131,i3,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +132,i3,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +133,i3,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +134,i3,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +135,i3,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +136,i3,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +137,i3,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +138,i3,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +139,i3,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +140,i3,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +141,i8,1704418940,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:42:20 +142,i8,1704418940,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:42:20 +143,i8,1704418940,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:42:20 +144,i8,1704418940,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:42:20 +145,i8,1704418940,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:42:20 +146,i8,1704419110,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:45:10 +147,i8,1704419110,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:45:10 +148,i8,1704419110,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:45:10 +149,i8,1704419110,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:45:10 +150,i8,1704419110,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:45:10 +151,i8,1704419450,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:50:50 +152,i8,1704419450,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:50:50 +153,i8,1704419450,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:50:50 +154,i8,1704419450,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:50:50 +155,i8,1704419450,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:50:50 +156,i8,1704419620,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:53:40 +157,i8,1704419620,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:53:40 +158,i8,1704419620,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:53:40 +159,i8,1704419620,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:53:40 +160,i8,1704419620,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:53:40 +161,i8,1704419790,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:56:30 +162,i8,1704419790,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:56:30 +163,i8,1704419790,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:56:30 +164,i8,1704419790,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:56:30 +165,i8,1704419790,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:56:30 +166,u00,1704418880,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:41:20 +167,u00,1704418880,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:41:20 +168,u00,1704418880,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:41:20 +169,u00,1704418880,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:41:20 +170,u00,1704418880,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:41:20 +171,u00,1704419060,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:44:20 +172,u00,1704419060,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:44:20 +173,u00,1704419060,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:44:20 +174,u00,1704419060,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:44:20 +175,u00,1704419060,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:44:20 +176,u00,1704419420,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:50:20 +177,u00,1704419420,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:50:20 +178,u00,1704419420,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:50:20 +179,u00,1704419420,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:50:20 +180,u00,1704419420,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:50:20 +181,u00,1704419600,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:53:20 +182,u00,1704419600,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:53:20 +183,u00,1704419600,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:53:20 +184,u00,1704419600,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:53:20 +185,u00,1704419600,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:53:20 +186,u00,1704419780,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:56:20 +187,u00,1704419780,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:56:20 +188,u00,1704419780,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:56:20 +189,u00,1704419780,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:56:20 +190,u00,1704419780,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:56:20 +191,u20,1704418970,0,43,GGggGGG,2024-01-05 10:42:50 +192,u20,1704418970,1,27,rrggrrr,2024-01-05 10:42:50 +193,u20,1704418970,2,70,gggggg,2024-01-05 10:42:50 +194,u20,1704418970,3,40,rrggGGG,2024-01-05 10:42:50 +195,u20,1704419150,0,43,GGggGGG,2024-01-05 10:45:50 +196,u20,1704419150,1,27,rrggrrr,2024-01-05 10:45:50 +197,u20,1704419150,2,70,gggggg,2024-01-05 10:45:50 +198,u20,1704419150,3,40,rrggGGG,2024-01-05 10:45:50 +199,u20,1704419330,0,31,GGggGGG,2024-01-05 10:48:50 +200,u20,1704419330,1,19,rrggrrr,2024-01-05 10:48:50 +201,u20,1704419330,2,50,gggggg,2024-01-05 10:48:50 +202,u20,1704419330,3,28,rrggGGG,2024-01-05 10:48:50 +203,u20,1704419690,0,43,GGggGGG,2024-01-05 10:54:50 +204,u20,1704419690,1,27,rrggrrr,2024-01-05 10:54:50 +205,u20,1704419690,2,70,gggggg,2024-01-05 10:54:50 +206,u20,1704419690,3,40,rrggGGG,2024-01-05 10:54:50 +207,u20,1704419820,0,31,GGggGGG,2024-01-05 10:57:00 +208,u20,1704419820,1,19,rrggrrr,2024-01-05 10:57:00 +209,u20,1704419820,2,50,gggggg,2024-01-05 10:57:00 +210,u20,1704419820,3,28,rrggGGG,2024-01-05 10:57:00 +211,c30,1704418900,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:41:40 +212,c30,1704418900,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:41:40 +213,c30,1704418900,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:41:40 +214,c30,1704418900,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:41:40 +215,c30,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +216,c30,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +217,c30,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +218,c30,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +219,c30,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +220,c30,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +221,c30,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +222,c30,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +223,c30,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +224,c30,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +225,c30,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +226,c30,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +227,c30,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +228,c30,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +229,c30,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +230,c30,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +231,u30,1704418900,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:41:40 +232,u30,1704418900,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:41:40 +233,u30,1704418900,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:41:40 +234,u30,1704418900,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:41:40 +235,u30,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +236,u30,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +237,u30,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +238,u30,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +239,u30,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +240,u30,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +241,u30,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +242,u30,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +243,u30,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +244,u30,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +245,u30,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +246,u30,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +247,u30,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +248,u30,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +249,u30,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +250,u30,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +251,u31,1704418900,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:41:40 +252,u31,1704418900,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:41:40 +253,u31,1704418900,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:41:40 +254,u31,1704418900,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:41:40 +255,u31,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +256,u31,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +257,u31,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +258,u31,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +259,u31,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +260,u31,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +261,u31,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +262,u31,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +263,u31,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +264,u31,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +265,u31,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +266,u31,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +267,u31,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +268,u31,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +269,u31,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +270,u31,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +271,u32,1704418900,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:41:40 +272,u32,1704418900,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:41:40 +273,u32,1704418900,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:41:40 +274,u32,1704418900,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:41:40 +275,u32,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +276,u32,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +277,u32,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +278,u32,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +279,u32,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +280,u32,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +281,u32,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +282,u32,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +283,u32,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +284,u32,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +285,u32,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +286,u32,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +287,u32,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +288,u32,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +289,u32,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +290,u32,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +291,u60,1704418940,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:42:20 +292,u60,1704418940,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:42:20 +293,u60,1704418940,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:42:20 +294,u60,1704418940,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:42:20 +295,u60,1704418940,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:42:20 +296,u60,1704419120,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:45:20 +297,u60,1704419120,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:45:20 +298,u60,1704419120,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:45:20 +299,u60,1704419120,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:45:20 +300,u60,1704419120,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:45:20 +301,u60,1704419300,0,24,grrrgGGGrgrrgrrr,2024-01-05 10:48:20 +302,u60,1704419300,1,14,grrrgGGGrgrrgGGr,2024-01-05 10:48:20 +303,u60,1704419300,2,38,grrrgrrrrgrrgGGG,2024-01-05 10:48:20 +304,u60,1704419300,3,62,gGGGgrrrrgrrgrrr,2024-01-05 10:48:20 +305,u60,1704419300,4,21,grrrgrrrrgGGgrrr,2024-01-05 10:48:20 +306,u60,1704419660,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:54:20 +307,u60,1704419660,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:54:20 +308,u60,1704419660,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:54:20 +309,u60,1704419660,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:54:20 +310,u60,1704419660,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:54:20 +311,u60,1704419820,0,24,grrrgGGGrgrrgrrr,2024-01-05 10:57:00 +312,u60,1704419820,1,14,grrrgGGGrgrrgGGr,2024-01-05 10:57:00 +313,u60,1704419820,2,38,grrrgrrrrgrrgGGG,2024-01-05 10:57:00 +314,u60,1704419820,3,62,gGGGgrrrrgrrgrrr,2024-01-05 10:57:00 +315,u60,1704419820,4,21,grrrgrrrrgGGgrrr,2024-01-05 10:57:00 diff --git a/Analysis/0207_unit_test/ssigtable.csv b/Analysis/0207_unit_test/ssigtable.csv index a1ca023d0..eb51b06e2 100644 --- a/Analysis/0207_unit_test/ssigtable.csv +++ b/Analysis/0207_unit_test/ssigtable.csv @@ -1,239 +1,239 @@ ,node_id,start_unix,phase_sumo,duration,state,start_dt -67,c30,1704461020,0,38,rrrrrr,2024-01-05 22:23:40 -68,c30,1704461020,1,39,GGGGGG,2024-01-05 22:23:40 -69,c30,1704461020,2,44,GGGGGG,2024-01-05 22:23:40 -70,c30,1704461020,3,59,GGGGGG,2024-01-05 22:23:40 -126,c30,1704461200,0,38,rrrrrr,2024-01-05 22:26:40 -127,c30,1704461200,1,39,GGGGGG,2024-01-05 22:26:40 -128,c30,1704461200,2,44,GGGGGG,2024-01-05 22:26:40 -129,c30,1704461200,3,59,GGGGGG,2024-01-05 22:26:40 -188,c30,1704461380,0,38,rrrrrr,2024-01-05 22:29:40 -189,c30,1704461380,1,39,GGGGGG,2024-01-05 22:29:40 -190,c30,1704461380,2,44,GGGGGG,2024-01-05 22:29:40 -191,c30,1704461380,3,59,GGGGGG,2024-01-05 22:29:40 -250,c30,1704461560,0,38,rrrrrr,2024-01-05 22:32:40 -251,c30,1704461560,1,39,GGGGGG,2024-01-05 22:32:40 -252,c30,1704461560,2,44,GGGGGG,2024-01-05 22:32:40 -253,c30,1704461560,3,59,GGGGGG,2024-01-05 22:32:40 -52,i0,1704460980,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 22:23:00 -53,i0,1704460980,1,48,grrGgrrrgrrrrGgrr,2024-01-05 22:23:00 -54,i0,1704460980,2,55,grrrgGGGgrrrrrgrr,2024-01-05 22:23:00 -55,i0,1704460980,3,0,grrrgGGrgrrrrrgGr,2024-01-05 22:23:00 -56,i0,1704460980,4,41,grrrgrrrgrrrrrgGG,2024-01-05 22:23:00 -116,i0,1704461170,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 22:26:10 -117,i0,1704461170,1,48,grrGgrrrgrrrrGgrr,2024-01-05 22:26:10 -118,i0,1704461170,2,55,grrrgGGGgrrrrrgrr,2024-01-05 22:26:10 -119,i0,1704461170,3,0,grrrgGGrgrrrrrgGr,2024-01-05 22:26:10 -120,i0,1704461170,4,41,grrrgrrrgrrrrrgGG,2024-01-05 22:26:10 -178,i0,1704461360,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 22:29:20 -179,i0,1704461360,1,48,grrGgrrrgrrrrGgrr,2024-01-05 22:29:20 -180,i0,1704461360,2,55,grrrgGGGgrrrrrgrr,2024-01-05 22:29:20 -181,i0,1704461360,3,0,grrrgGGrgrrrrrgGr,2024-01-05 22:29:20 -182,i0,1704461360,4,41,grrrgrrrgrrrrrgGG,2024-01-05 22:29:20 -64,i1,1704461009,0,37,gGGGGGrgrr,2024-01-05 22:23:29 -65,i1,1704461009,1,112,grrGGGGgrr,2024-01-05 22:23:29 -66,i1,1704461009,2,40,grrrrrrgGG,2024-01-05 22:23:29 -130,i1,1704461200,0,37,gGGGGGrgrr,2024-01-05 22:26:40 -131,i1,1704461200,1,114,grrGGGGgrr,2024-01-05 22:26:40 -132,i1,1704461200,2,40,grrrrrrgGG,2024-01-05 22:26:40 -208,i1,1704461390,0,37,gGGGGGrgrr,2024-01-05 22:29:50 -209,i1,1704461390,1,113,grrGGGGgrr,2024-01-05 22:29:50 -210,i1,1704461390,2,40,grrrrrrgGG,2024-01-05 22:29:50 -274,i1,1704461580,0,37,gGGGGGrgrr,2024-01-05 22:33:00 -275,i1,1704461580,1,113,grrGGGGgrr,2024-01-05 22:33:00 -276,i1,1704461580,2,40,grrrrrrgGG,2024-01-05 22:33:00 -87,i2,1704461030,0,45,GGggGGG,2024-01-05 22:23:50 -88,i2,1704461030,1,32,rrggrrr,2024-01-05 22:23:50 -89,i2,1704461030,2,77,rrggrrr,2024-01-05 22:23:50 -90,i2,1704461030,3,36,rrggGGG,2024-01-05 22:23:50 -149,i2,1704461220,0,45,GGggGGG,2024-01-05 22:27:00 -150,i2,1704461220,1,32,rrggrrr,2024-01-05 22:27:00 -151,i2,1704461220,2,77,rrggrrr,2024-01-05 22:27:00 -152,i2,1704461220,3,36,rrggGGG,2024-01-05 22:27:00 -215,i2,1704461410,0,45,GGggGGG,2024-01-05 22:30:10 -216,i2,1704461410,1,32,rrggrrr,2024-01-05 22:30:10 -217,i2,1704461410,2,77,rrggrrr,2024-01-05 22:30:10 -218,i2,1704461410,3,36,rrggGGG,2024-01-05 22:30:10 -277,i2,1704461600,0,45,GGggGGG,2024-01-05 22:33:20 -278,i2,1704461600,1,32,rrggrrr,2024-01-05 22:33:20 -279,i2,1704461600,2,77,rrggrrr,2024-01-05 22:33:20 -280,i2,1704461600,3,36,rrggGGG,2024-01-05 22:33:20 -71,i3,1704461020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:23:40 -72,i3,1704461020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:23:40 -73,i3,1704461020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:23:40 -74,i3,1704461020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:23:40 -133,i3,1704461200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:26:40 -134,i3,1704461200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:26:40 -135,i3,1704461200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:26:40 -136,i3,1704461200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:26:40 -192,i3,1704461380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:29:40 -193,i3,1704461380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:29:40 -194,i3,1704461380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:29:40 -195,i3,1704461380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:29:40 -254,i3,1704461560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 22:32:40 -255,i3,1704461560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 22:32:40 -256,i3,1704461560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 22:32:40 -257,i3,1704461560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 22:32:40 -95,i6,1704461080,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:24:40 -96,i6,1704461080,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:24:40 -97,i6,1704461080,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:24:40 -98,i6,1704461080,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:24:40 -99,i6,1704461080,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:24:40 -161,i6,1704461270,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:27:50 -162,i6,1704461270,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:27:50 -163,i6,1704461270,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:27:50 -164,i6,1704461270,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:27:50 -165,i6,1704461270,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:27:50 -223,i6,1704461460,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:31:00 -224,i6,1704461460,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:31:00 -225,i6,1704461460,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:31:00 -226,i6,1704461460,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:31:00 -227,i6,1704461460,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:31:00 -285,i6,1704461650,0,43,grrrgGGGrgrrgrrr,2024-01-05 22:34:10 -286,i6,1704461650,1,0,grrrgGGGrgrrgGGr,2024-01-05 22:34:10 -287,i6,1704461650,2,47,grrrgrrrrgrrgGGG,2024-01-05 22:34:10 -288,i6,1704461650,3,75,gGGGgrrrrgrrgrrr,2024-01-05 22:34:10 -289,i6,1704461650,4,25,grrrgrrrrgGGgrrr,2024-01-05 22:34:10 -100,i7,1704461080,0,46,GGrggGG,2024-01-05 22:24:40 -101,i7,1704461080,1,62,rrrggrr,2024-01-05 22:24:40 -102,i7,1704461080,2,26,GGrggGG,2024-01-05 22:24:40 -103,i7,1704461080,3,26,rrrggrr,2024-01-05 22:24:40 -157,i7,1704461240,0,46,GGrggGG,2024-01-05 22:27:20 -158,i7,1704461240,1,62,rrrggrr,2024-01-05 22:27:20 -159,i7,1704461240,2,26,GGrggGG,2024-01-05 22:27:20 -160,i7,1704461240,3,26,rrrggrr,2024-01-05 22:27:20 -211,i7,1704461400,0,46,GGrggGG,2024-01-05 22:30:00 -212,i7,1704461400,1,62,rrrggrr,2024-01-05 22:30:00 -213,i7,1704461400,2,26,GGrggGG,2024-01-05 22:30:00 -214,i7,1704461400,3,26,rrrggrr,2024-01-05 22:30:00 -258,i7,1704461560,0,46,GGrggGG,2024-01-05 22:32:40 -259,i7,1704461560,1,62,rrrggrr,2024-01-05 22:32:40 -260,i7,1704461560,2,26,GGrggGG,2024-01-05 22:32:40 -261,i7,1704461560,3,26,rrrggrr,2024-01-05 22:32:40 -47,i8,1704460940,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:22:20 -48,i8,1704460940,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:22:20 -49,i8,1704460940,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:22:20 -50,i8,1704460940,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:22:20 -51,i8,1704460940,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:22:20 -109,i8,1704461120,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:25:20 -110,i8,1704461120,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:25:20 -111,i8,1704461120,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:25:20 -112,i8,1704461120,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:25:20 -113,i8,1704461120,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:25:20 -171,i8,1704461300,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:28:20 -172,i8,1704461300,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:28:20 -173,i8,1704461300,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:28:20 -174,i8,1704461300,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:28:20 -175,i8,1704461300,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:28:20 -233,i8,1704461480,0,36,grrrrrrrgGGGgrrr,2024-01-05 22:31:20 -234,i8,1704461480,1,50,grrrrrrrgrrrgGGG,2024-01-05 22:31:20 -235,i8,1704461480,2,18,grrrGGGrgrrrgGGr,2024-01-05 22:31:20 -236,i8,1704461480,3,58,grrrGGGGgrrrgrrr,2024-01-05 22:31:20 -237,i8,1704461480,4,18,gGGGrrrrgrrrgrrr,2024-01-05 22:31:20 -57,i9,1704460980,0,48,GGGG,2024-01-05 22:23:00 -58,i9,1704460980,1,122,rrrr,2024-01-05 22:23:00 -114,i9,1704461150,0,48,GGGG,2024-01-05 22:25:50 -115,i9,1704461150,1,122,rrrr,2024-01-05 22:25:50 -176,i9,1704461320,0,48,GGGG,2024-01-05 22:28:40 -177,i9,1704461320,1,122,rrrr,2024-01-05 22:28:40 -238,i9,1704461490,0,48,GGGG,2024-01-05 22:31:30 -239,i9,1704461490,1,122,rrrr,2024-01-05 22:31:30 -59,u00,1704460980,0,46,ggggrgggg,2024-01-05 22:23:00 -60,u00,1704460980,1,48,ggggGgggg,2024-01-05 22:23:00 -61,u00,1704460980,2,55,ggggrgggg,2024-01-05 22:23:00 -62,u00,1704460980,3,0,ggggrgggg,2024-01-05 22:23:00 -63,u00,1704460980,4,41,ggggrgggg,2024-01-05 22:23:00 -121,u00,1704461170,0,46,ggggrgggg,2024-01-05 22:26:10 -122,u00,1704461170,1,48,ggggGgggg,2024-01-05 22:26:10 -123,u00,1704461170,2,55,ggggrgggg,2024-01-05 22:26:10 -124,u00,1704461170,3,0,ggggrgggg,2024-01-05 22:26:10 -125,u00,1704461170,4,41,ggggrgggg,2024-01-05 22:26:10 -183,u00,1704461360,0,46,ggggrgggg,2024-01-05 22:29:20 -184,u00,1704461360,1,48,ggggGgggg,2024-01-05 22:29:20 -185,u00,1704461360,2,55,ggggrgggg,2024-01-05 22:29:20 -186,u00,1704461360,3,0,ggggrgggg,2024-01-05 22:29:20 -187,u00,1704461360,4,41,ggggrgggg,2024-01-05 22:29:20 -91,u20,1704461030,0,45,ggrggg,2024-01-05 22:23:50 -92,u20,1704461030,1,32,ggrggg,2024-01-05 22:23:50 -93,u20,1704461030,2,77,ggGggg,2024-01-05 22:23:50 -94,u20,1704461030,3,36,ggrggg,2024-01-05 22:23:50 -153,u20,1704461220,0,45,ggrggg,2024-01-05 22:27:00 -154,u20,1704461220,1,32,ggrggg,2024-01-05 22:27:00 -155,u20,1704461220,2,77,ggGggg,2024-01-05 22:27:00 -156,u20,1704461220,3,36,ggrggg,2024-01-05 22:27:00 -219,u20,1704461410,0,45,ggrggg,2024-01-05 22:30:10 -220,u20,1704461410,1,32,ggrggg,2024-01-05 22:30:10 -221,u20,1704461410,2,77,ggGggg,2024-01-05 22:30:10 -222,u20,1704461410,3,36,ggrggg,2024-01-05 22:30:10 -281,u20,1704461600,0,45,ggrggg,2024-01-05 22:33:20 -282,u20,1704461600,1,32,ggrggg,2024-01-05 22:33:20 -283,u20,1704461600,2,77,ggGggg,2024-01-05 22:33:20 -284,u20,1704461600,3,36,ggrggg,2024-01-05 22:33:20 -75,u30,1704461020,0,38,ggggrggg,2024-01-05 22:23:40 -76,u30,1704461020,1,39,ggggrggg,2024-01-05 22:23:40 -77,u30,1704461020,2,44,ggggrggg,2024-01-05 22:23:40 -78,u30,1704461020,3,59,ggggGggg,2024-01-05 22:23:40 -137,u30,1704461200,0,38,ggggrggg,2024-01-05 22:26:40 -138,u30,1704461200,1,39,ggggrggg,2024-01-05 22:26:40 -139,u30,1704461200,2,44,ggggrggg,2024-01-05 22:26:40 -140,u30,1704461200,3,59,ggggGggg,2024-01-05 22:26:40 -196,u30,1704461380,0,38,ggggrggg,2024-01-05 22:29:40 -197,u30,1704461380,1,39,ggggrggg,2024-01-05 22:29:40 -198,u30,1704461380,2,44,ggggrggg,2024-01-05 22:29:40 -199,u30,1704461380,3,59,ggggGggg,2024-01-05 22:29:40 -262,u30,1704461560,0,38,ggggrggg,2024-01-05 22:32:40 -263,u30,1704461560,1,39,ggggrggg,2024-01-05 22:32:40 -264,u30,1704461560,2,44,ggggrggg,2024-01-05 22:32:40 -265,u30,1704461560,3,59,ggggGggg,2024-01-05 22:32:40 -79,u31,1704461020,0,38,ggggGggg,2024-01-05 22:23:40 -80,u31,1704461020,1,39,ggggrggg,2024-01-05 22:23:40 -81,u31,1704461020,2,44,ggggrggg,2024-01-05 22:23:40 -82,u31,1704461020,3,59,ggggrggg,2024-01-05 22:23:40 -141,u31,1704461200,0,38,ggggGggg,2024-01-05 22:26:40 -142,u31,1704461200,1,39,ggggrggg,2024-01-05 22:26:40 -143,u31,1704461200,2,44,ggggrggg,2024-01-05 22:26:40 -144,u31,1704461200,3,59,ggggrggg,2024-01-05 22:26:40 -200,u31,1704461380,0,38,ggggGggg,2024-01-05 22:29:40 -201,u31,1704461380,1,39,ggggrggg,2024-01-05 22:29:40 -202,u31,1704461380,2,44,ggggrggg,2024-01-05 22:29:40 -203,u31,1704461380,3,59,ggggrggg,2024-01-05 22:29:40 -266,u31,1704461560,0,38,ggggGggg,2024-01-05 22:32:40 -267,u31,1704461560,1,39,ggggrggg,2024-01-05 22:32:40 -268,u31,1704461560,2,44,ggggrggg,2024-01-05 22:32:40 -269,u31,1704461560,3,59,ggggrggg,2024-01-05 22:32:40 -83,u32,1704461020,0,38,gggggggG,2024-01-05 22:23:40 -84,u32,1704461020,1,39,gggggggr,2024-01-05 22:23:40 -85,u32,1704461020,2,44,gggggggr,2024-01-05 22:23:40 -86,u32,1704461020,3,59,gggggggr,2024-01-05 22:23:40 -145,u32,1704461200,0,38,gggggggG,2024-01-05 22:26:40 -146,u32,1704461200,1,39,gggggggr,2024-01-05 22:26:40 -147,u32,1704461200,2,44,gggggggr,2024-01-05 22:26:40 -148,u32,1704461200,3,59,gggggggr,2024-01-05 22:26:40 -204,u32,1704461380,0,38,gggggggG,2024-01-05 22:29:40 -205,u32,1704461380,1,39,gggggggr,2024-01-05 22:29:40 -206,u32,1704461380,2,44,gggggggr,2024-01-05 22:29:40 -207,u32,1704461380,3,59,gggggggr,2024-01-05 22:29:40 -270,u32,1704461560,0,38,gggggggG,2024-01-05 22:32:40 -271,u32,1704461560,1,39,gggggggr,2024-01-05 22:32:40 -272,u32,1704461560,2,44,gggggggr,2024-01-05 22:32:40 -273,u32,1704461560,3,59,gggggggr,2024-01-05 22:32:40 -104,u60,1704461080,0,43,ggggggggr,2024-01-05 22:24:40 -105,u60,1704461080,1,0,ggggggggr,2024-01-05 22:24:40 -106,u60,1704461080,2,47,ggggggggG,2024-01-05 22:24:40 -107,u60,1704461080,3,75,ggggggggr,2024-01-05 22:24:40 -108,u60,1704461080,4,25,ggggggggr,2024-01-05 22:24:40 -166,u60,1704461270,0,43,ggggggggr,2024-01-05 22:27:50 -167,u60,1704461270,1,0,ggggggggr,2024-01-05 22:27:50 -168,u60,1704461270,2,47,ggggggggG,2024-01-05 22:27:50 -169,u60,1704461270,3,75,ggggggggr,2024-01-05 22:27:50 -170,u60,1704461270,4,25,ggggggggr,2024-01-05 22:27:50 -228,u60,1704461460,0,43,ggggggggr,2024-01-05 22:31:00 -229,u60,1704461460,1,0,ggggggggr,2024-01-05 22:31:00 -230,u60,1704461460,2,47,ggggggggG,2024-01-05 22:31:00 -231,u60,1704461460,3,75,ggggggggr,2024-01-05 22:31:00 -232,u60,1704461460,4,25,ggggggggr,2024-01-05 22:31:00 -290,u60,1704461650,0,43,ggggggggr,2024-01-05 22:34:10 -291,u60,1704461650,1,0,ggggggggr,2024-01-05 22:34:10 -292,u60,1704461650,2,47,ggggggggG,2024-01-05 22:34:10 -293,u60,1704461650,3,75,ggggggggr,2024-01-05 22:34:10 -294,u60,1704461650,4,25,ggggggggr,2024-01-05 22:34:10 +215,c30,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +216,c30,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +217,c30,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +218,c30,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +219,c30,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +220,c30,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +221,c30,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +222,c30,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +223,c30,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +224,c30,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +225,c30,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +226,c30,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +227,c30,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +228,c30,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +229,c30,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +230,c30,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +40,i0,1704419060,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:44:20 +41,i0,1704419060,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:44:20 +42,i0,1704419060,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:44:20 +43,i0,1704419060,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:44:20 +44,i0,1704419060,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:44:20 +45,i0,1704419420,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:50:20 +46,i0,1704419420,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:50:20 +47,i0,1704419420,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:50:20 +48,i0,1704419420,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:50:20 +49,i0,1704419420,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:50:20 +50,i0,1704419600,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:53:20 +51,i0,1704419600,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:53:20 +52,i0,1704419600,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:53:20 +53,i0,1704419600,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:53:20 +54,i0,1704419600,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:53:20 +23,i1,1704419060,0,37,gGGGGGrgrr,2024-01-05 10:44:20 +24,i1,1704419060,1,103,grrGGGGgrr,2024-01-05 10:44:20 +25,i1,1704419060,2,40,grrrrrrgGG,2024-01-05 10:44:20 +26,i1,1704419420,0,37,gGGGGGrgrr,2024-01-05 10:50:20 +27,i1,1704419420,1,103,grrGGGGgrr,2024-01-05 10:50:20 +28,i1,1704419420,2,40,grrrrrrgGG,2024-01-05 10:50:20 +29,i1,1704419600,0,37,gGGGGGrgrr,2024-01-05 10:53:20 +30,i1,1704419600,1,103,grrGGGGgrr,2024-01-05 10:53:20 +31,i1,1704419600,2,40,grrrrrrgGG,2024-01-05 10:53:20 +32,i1,1704419780,0,37,gGGGGGrgrr,2024-01-05 10:56:20 +33,i1,1704419780,1,103,grrGGGGgrr,2024-01-05 10:56:20 +34,i1,1704419780,2,40,grrrrrrgGG,2024-01-05 10:56:20 +0,i2,1704418970,0,43,GGggGGG,2024-01-05 10:42:50 +1,i2,1704418970,1,27,rrggrrr,2024-01-05 10:42:50 +2,i2,1704418970,2,70,rrggrrr,2024-01-05 10:42:50 +3,i2,1704418970,3,40,rrggGGG,2024-01-05 10:42:50 +4,i2,1704419150,0,43,GGggGGG,2024-01-05 10:45:50 +5,i2,1704419150,1,27,rrggrrr,2024-01-05 10:45:50 +6,i2,1704419150,2,70,rrggrrr,2024-01-05 10:45:50 +7,i2,1704419150,3,40,rrggGGG,2024-01-05 10:45:50 +8,i2,1704419330,0,31,GGggGGG,2024-01-05 10:48:50 +9,i2,1704419330,1,19,rrggrrr,2024-01-05 10:48:50 +10,i2,1704419330,2,50,rrggrrr,2024-01-05 10:48:50 +11,i2,1704419330,3,28,rrggGGG,2024-01-05 10:48:50 +12,i2,1704419690,0,43,GGggGGG,2024-01-05 10:54:50 +13,i2,1704419690,1,27,rrggrrr,2024-01-05 10:54:50 +14,i2,1704419690,2,70,rrggrrr,2024-01-05 10:54:50 +15,i2,1704419690,3,40,rrggGGG,2024-01-05 10:54:50 +125,i3,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +126,i3,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +127,i3,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +128,i3,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +129,i3,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +130,i3,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +131,i3,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +132,i3,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +133,i3,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +134,i3,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +135,i3,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +136,i3,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +137,i3,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +138,i3,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +139,i3,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +140,i3,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +84,i6,1704418940,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:42:20 +85,i6,1704418940,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:42:20 +86,i6,1704418940,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:42:20 +87,i6,1704418940,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:42:20 +88,i6,1704418940,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:42:20 +89,i6,1704419120,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:45:20 +90,i6,1704419120,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:45:20 +91,i6,1704419120,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:45:20 +92,i6,1704419120,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:45:20 +93,i6,1704419120,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:45:20 +94,i6,1704419300,0,24,grrrgGGGrgrrgrrr,2024-01-05 10:48:20 +95,i6,1704419300,1,14,grrrgGGGrgrrgGGr,2024-01-05 10:48:20 +96,i6,1704419300,2,38,grrrgrrrrgrrgGGG,2024-01-05 10:48:20 +97,i6,1704419300,3,62,gGGGgrrrrgrrgrrr,2024-01-05 10:48:20 +98,i6,1704419300,4,21,grrrgrrrrgGGgrrr,2024-01-05 10:48:20 +99,i6,1704419660,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:54:20 +100,i6,1704419660,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:54:20 +101,i6,1704419660,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:54:20 +102,i6,1704419660,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:54:20 +103,i6,1704419660,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:54:20 +64,i7,1704419010,0,45,GGrggGG,2024-01-05 10:43:30 +65,i7,1704419010,1,53,rrrggrr,2024-01-05 10:43:30 +66,i7,1704419010,2,26,GGrggGG,2024-01-05 10:43:30 +67,i7,1704419010,3,26,rrrggrr,2024-01-05 10:43:30 +68,i7,1704419160,0,45,GGrggGG,2024-01-05 10:46:00 +69,i7,1704419160,1,53,rrrggrr,2024-01-05 10:46:00 +70,i7,1704419160,2,26,GGrggGG,2024-01-05 10:46:00 +71,i7,1704419160,3,26,rrrggrr,2024-01-05 10:46:00 +72,i7,1704419460,0,45,GGrggGG,2024-01-05 10:51:00 +73,i7,1704419460,1,53,rrrggrr,2024-01-05 10:51:00 +74,i7,1704419460,2,26,GGrggGG,2024-01-05 10:51:00 +75,i7,1704419460,3,26,rrrggrr,2024-01-05 10:51:00 +76,i7,1704419610,0,45,GGrggGG,2024-01-05 10:53:30 +77,i7,1704419610,1,53,rrrggrr,2024-01-05 10:53:30 +78,i7,1704419610,2,26,GGrggGG,2024-01-05 10:53:30 +79,i7,1704419610,3,26,rrrggrr,2024-01-05 10:53:30 +141,i8,1704418940,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:42:20 +142,i8,1704418940,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:42:20 +143,i8,1704418940,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:42:20 +144,i8,1704418940,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:42:20 +145,i8,1704418940,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:42:20 +146,i8,1704419110,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:45:10 +147,i8,1704419110,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:45:10 +148,i8,1704419110,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:45:10 +149,i8,1704419110,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:45:10 +150,i8,1704419110,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:45:10 +151,i8,1704419450,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:50:50 +152,i8,1704419450,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:50:50 +153,i8,1704419450,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:50:50 +154,i8,1704419450,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:50:50 +155,i8,1704419450,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:50:50 +156,i8,1704419620,0,33,grrrrrrrgGGGgrrr,2024-01-05 10:53:40 +157,i8,1704419620,1,36,grrrrrrrgrrrgGGG,2024-01-05 10:53:40 +158,i8,1704419620,2,25,grrrGGGrgrrrgGGr,2024-01-05 10:53:40 +159,i8,1704419620,3,58,grrrGGGGgrrrgrrr,2024-01-05 10:53:40 +160,i8,1704419620,4,18,gGGGrrrrgrrrgrrr,2024-01-05 10:53:40 +111,i9,1704418970,0,46,GGGG,2024-01-05 10:42:50 +112,i9,1704418970,1,114,rrrr,2024-01-05 10:42:50 +113,i9,1704419129,0,45,GGGG,2024-01-05 10:45:29 +114,i9,1704419129,1,113,rrrr,2024-01-05 10:45:29 +115,i9,1704419449,0,46,GGGG,2024-01-05 10:50:49 +116,i9,1704419449,1,114,rrrr,2024-01-05 10:50:49 +117,i9,1704419609,0,46,GGGG,2024-01-05 10:53:29 +118,i9,1704419609,1,114,rrrr,2024-01-05 10:53:29 +171,u00,1704419060,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:44:20 +172,u00,1704419060,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:44:20 +173,u00,1704419060,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:44:20 +174,u00,1704419060,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:44:20 +175,u00,1704419060,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:44:20 +176,u00,1704419420,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:50:20 +177,u00,1704419420,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:50:20 +178,u00,1704419420,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:50:20 +179,u00,1704419420,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:50:20 +180,u00,1704419420,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:50:20 +181,u00,1704419600,0,43,gGGrgrrrgGGGGrgrr,2024-01-05 10:53:20 +182,u00,1704419600,1,45,grrGgrrrgrrrrGgrr,2024-01-05 10:53:20 +183,u00,1704419600,2,33,grrrgGGGgrrrrrgrr,2024-01-05 10:53:20 +184,u00,1704419600,3,22,grrrgGGrgrrrrrgGr,2024-01-05 10:53:20 +185,u00,1704419600,4,37,grrrgrrrgrrrrrgGG,2024-01-05 10:53:20 +191,u20,1704418970,0,43,GGggGGG,2024-01-05 10:42:50 +192,u20,1704418970,1,27,rrggrrr,2024-01-05 10:42:50 +193,u20,1704418970,2,70,gggggg,2024-01-05 10:42:50 +194,u20,1704418970,3,40,rrggGGG,2024-01-05 10:42:50 +195,u20,1704419150,0,43,GGggGGG,2024-01-05 10:45:50 +196,u20,1704419150,1,27,rrggrrr,2024-01-05 10:45:50 +197,u20,1704419150,2,70,gggggg,2024-01-05 10:45:50 +198,u20,1704419150,3,40,rrggGGG,2024-01-05 10:45:50 +199,u20,1704419330,0,31,GGggGGG,2024-01-05 10:48:50 +200,u20,1704419330,1,19,rrggrrr,2024-01-05 10:48:50 +201,u20,1704419330,2,50,gggggg,2024-01-05 10:48:50 +202,u20,1704419330,3,28,rrggGGG,2024-01-05 10:48:50 +203,u20,1704419690,0,43,GGggGGG,2024-01-05 10:54:50 +204,u20,1704419690,1,27,rrggrrr,2024-01-05 10:54:50 +205,u20,1704419690,2,70,gggggg,2024-01-05 10:54:50 +206,u20,1704419690,3,40,rrggGGG,2024-01-05 10:54:50 +235,u30,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +236,u30,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +237,u30,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +238,u30,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +239,u30,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +240,u30,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +241,u30,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +242,u30,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +243,u30,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +244,u30,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +245,u30,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +246,u30,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +247,u30,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +248,u30,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +249,u30,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +250,u30,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +255,u31,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +256,u31,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +257,u31,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +258,u31,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +259,u31,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +260,u31,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +261,u31,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +262,u31,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +263,u31,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +264,u31,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +265,u31,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +266,u31,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +267,u31,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +268,u31,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +269,u31,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +270,u31,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +275,u32,1704419070,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:44:30 +276,u32,1704419070,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:44:30 +277,u32,1704419070,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:44:30 +278,u32,1704419070,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:44:30 +279,u32,1704419410,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:50:10 +280,u32,1704419410,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:50:10 +281,u32,1704419410,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:50:10 +282,u32,1704419410,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:50:10 +283,u32,1704419580,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:53:00 +284,u32,1704419580,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:53:00 +285,u32,1704419580,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:53:00 +286,u32,1704419580,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:53:00 +287,u32,1704419750,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 10:55:50 +288,u32,1704419750,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 10:55:50 +289,u32,1704419750,2,43,grrrrgrrrrgrrrrgGGGG,2024-01-05 10:55:50 +290,u32,1704419750,3,22,grrrrgGGGGgrrrrgrrrr,2024-01-05 10:55:50 +291,u60,1704418940,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:42:20 +292,u60,1704418940,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:42:20 +293,u60,1704418940,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:42:20 +294,u60,1704418940,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:42:20 +295,u60,1704418940,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:42:20 +296,u60,1704419120,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:45:20 +297,u60,1704419120,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:45:20 +298,u60,1704419120,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:45:20 +299,u60,1704419120,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:45:20 +300,u60,1704419120,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:45:20 +301,u60,1704419300,0,24,grrrgGGGrgrrgrrr,2024-01-05 10:48:20 +302,u60,1704419300,1,14,grrrgGGGrgrrgGGr,2024-01-05 10:48:20 +303,u60,1704419300,2,38,grrrgrrrrgrrgGGG,2024-01-05 10:48:20 +304,u60,1704419300,3,62,gGGGgrrrrgrrgrrr,2024-01-05 10:48:20 +305,u60,1704419300,4,21,grrrgrrrrgGGgrrr,2024-01-05 10:48:20 +306,u60,1704419660,0,28,grrrgGGGrgrrgrrr,2024-01-05 10:54:20 +307,u60,1704419660,1,15,grrrgGGGrgrrgGGr,2024-01-05 10:54:20 +308,u60,1704419660,2,43,grrrgrrrrgrrgGGG,2024-01-05 10:54:20 +309,u60,1704419660,3,70,gGGGgrrrrgrrgrrr,2024-01-05 10:54:20 +310,u60,1704419660,4,24,grrrgrrrrgGGgrrr,2024-01-05 10:54:20 diff --git a/Analysis/0213_explanation/explanation.ipynb b/Analysis/0213_explanation/explanation.ipynb new file mode 100644 index 000000000..dbe2efe8e --- /dev/null +++ b/Analysis/0213_explanation/explanation.ipynb @@ -0,0 +1,5166 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import pandas as pd\n", + "\n", + "import sys\n", + "from datetime import datetime\n", + "sys.path.append('../../Scripts')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "표준테이블 목록\n", + "|순번|테이블명|설명|획득방법|\n", + "|:-:|:-:|:-:|:-:|\n", + "|1|교차로번호 |각 교차로의 이름, 위치|DB|\n", + "|2|방위각정보 |각 교차로의 (현시, 링)별 진입·진출 방위각|DB|\n", + "|3|이동류번호 |각 교차로의 (현시, 링)별 이동류번호|DB|\n", + "|4|신호계획 |각 교차로의 신호계획|DB|\n", + "|5|신호이력 |각 교차로의 (현시, 링)별 현시시간|DB|\n", + "|6|교차로-노드 매칭 |교차로번호와 노드ID를 매칭정보 및 parent/child 여부|수작업|\n", + "|7|유턴교차로정보 |각 유턴교차로별 부모교차로, 방향, 유턴옵션|수작업|\n", + "|8|연동교차로정보 |각 연동교차로별 부모교차로, (현시, 링)별 진입진출ID|수작업|\n", + "|9|NEMA 정보 |NEMA에서 정의한 이동류번호에 대한 진입·진출 방향|수작업|\n", + "|10|<미정> |(현시, 링)별로 이동류번호가 두 개 이상 부여된 경우에 대비한 테이블|수작업|" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "스크립트 목록\n", + "|스크립트명|`preprocess_daily.py`|`generate_signal.py`|\n", + "|:-:|:-:|:-:|\n", + "|실행주기|매일|매5분|\n", + "|목적|신호생성에 사용되는 중간산출물 생성|실시간 신호파일 생성|\n", + "|산출물목록|`match.csv`
`match6.csv`
`matching.csv`
`node2num_cycles.json`|`sn_[timestamp].add.xml`|" + ] + }, + { + "attachments": { + "image.png": { + "image/png": "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yY933r0sbti+rXJz3569jn2iRWwYDqvhMDcJw3MsHfvMfcJxPjasp+1iSdM21Jb6B1MDN7FvMvo8cbjYsCWWZCayh+E2CFV5onpKePyqCBEQAREQARFoLQGJJRU77XHBZPO2BUWV1MC8tXekGl4JgbY4SmpnsqjTFrGkDYJGlW0cFVki20627WFcXjo2cLsffm7sMJmk/CzNzLLMTNzKyjZFVhyq5IGsQkVABERABESgJQSCEktu+d9/4a74m3s6/fn6f3dvp6/P+o++jAtFdX5vyf2nZtZEIMmh0LFszluTvCSWXFiOWKlS7ChatsSS8u6pbXsn3Tsnhk+8mnQ/IowgkCCUIJgkpcl6rKZHtKoRAREQAREQgSAJBCWW4GgX/bGm/GH8qKYv6xRH4nUFebepUY0RyOogKH15Tl8ZLCWWhPFcH/d+lVhSzn3z4el59917nkkldjC0hiE2trINQ2/KuOesjMYe2qpYBERABERABAIgILHk9+34ETruR2po5yWWBHB3qwnLBOyHv7blOHN1c5RY0o73lMSScu6vhx474pi7ZNR9xiStTNZqK9swge6o9HnPLT9EtSMCIiACIiACPSQgsURiSSXRPBJLevg0CfiS8zoKyleO81eUo8QSiSVFbahN+UdN7MpqQrayDcsAV726UMCPdTVNBERABERABConILFEYonEkspvM1XQNIE2OUpq62qBRmKJxJK+3xdEjmy9cxANt9n1wCDXyjZ5GDb97Fb9IiACIiACItAkAYklEkskljR5B6ruWgjkcRKUZ7Vo0RQTiSUSS5qyvabrPTo56zZsW1rZhrlJiqxsk+daanlAqxIREAEREAERCJSAxBKJJRJLAr051azyCORxEpQnILHkhs86BJMufe68+rpOXU/UNzd8tpJ5M/p4L7KyzfqbpqMP+00xKO8prJJEQAREQAREoH0EJJZILJFY0r77Vi3OSKApR0P1hiO4hNYXn9twpDEHODQWas/SfULUyMO/nImW/yWahKiSptlkfNQquQiIgAiIgAh0ikBvxZJfPXpwqEhwZGrgJn74IzcqTdOrz5w5+2aq9qVNV/b1aILXTj0nWn8xTTscql+iSdwGJJbIJswmWP6XeUhs+d+qVrax+rJsW//w1wWIgAiIgAiIQAECvRVLtmz5XqJY8psTr7ivfu1yNzM372697Xb3+KGn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EE3ufvSsRJOSurcJJ0N1luc4SiyRWKL7qbz7KQvLkh7BKkYEREAEREAEWklAYkkru02N7gsBVsth1RwiTW782UnHajr6y04gi3OgtM04ZaO4SyyRWDLKPnSuuns2+9NWOURABERABESgOwQklnSnL3UlHSZgosna62ejpYclmmTrbDlT1TlTdbCVWCKxpA47Ux2rnxPZnrRKLQIiIAIiIALdIiCxpFv9qavpOIFPPv2Le3DynDPR5IVTf+j4FZdzeXKCVjtBbWIisURiSZvstUttLecJrFJEQAREQAREoJ0EJJa0s9/U6p4TMNHki1uPuW/tWHASTUYbRJeclz5ei8QSiSV9tPsQrnn0k1VnRUAEREAERKDbBCSWdLt/dXU9IPD47KIz0WT25Qs9uOLslxiC06E25I9uOX/DZx2CSZc+d159XaeuJ+qbGz7rZOf57TxEdtmftsohAiIgAiIgAt0hILGkO32pK+k5ARNNvnz7cXdk4b2e01h5+SE6IWpTt5zKrP35uQ1HJCyc7bcNZLWZJtKvfJLqmwiIgAiIgAj0i4DEkn71t662BwQQShBM+Dz9/Ls9uOLxl9iEk6E65QiPsgGJJbKPUfYRyrnxT1elEAEREAEREIHuEpBY0t2+1ZX1nICJJgzRIeqkz3+hOB5qhxxkswGJJbIFs4WQt31+b+jaRUAEREAEREBiiWxABDpOgMlfmQS2z6JJyM6I2tZPp1liST/7vW33e8dfj7o8ERABERABERhJQGLJSDw6KQLdIWCiCcsOs/wwK+r05a9tDora231HWmJJ9/u4C/dxX94Ruk4REAEREAERSCIgsSSJio6JQIcJnDj7gbv+py+7PokmXXBadA3dcq4llnSrP7t6f3b4VahLEwEREAEREIGxBCSWjEWkBCLQTQKn3vpwWTTZ/djr7k8ff9rNC3VOq45o1ZHgbEBiicSSNggsnX0p6MJEQAREQAREIAUBiSUpICmJCHSZwBuLH7vb9r7q1mwcuK6KJm1wStTGfjnPEkv61d9tvb+7/O7TtYmACIiACIjAOAISS8YR0nkR6AmB353/87JosuPAGXf+g086c+VtdVTU7u461BJLutu3XbpvO/MS0IWIgAiIgAiIQA4CEktyQFMWEegyAUSTO/afiiJNuiKadMl50bV0w8mWWNKNfuz6/djld52uTQREQAREQATG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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![image.png](attachment:image.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `preprocess_daily.py`" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1. 데이터를 로드합니다.\n", + "1-1. 네트워크가 로드되었습니다.\n", + "1-2. 테이블들이 로드되었습니다.\n", + "1-3. 네트워크의 모든 clean state requirement들을 체크했습니다.\n", + "1-4. 테이블들의 무결성 검사를 완료했습니다.\n", + "2. 중간산출물을 생성합니다.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "이동류정보 불러오는 중: 100%|██████████| 17280/17280 [00:13<00:00, 1243.60it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2-1. 매칭 테이블들을 생성했습니다.\n", + "2-2. node2num_cycles.json를 저장했습니다.\n", + "3. 이슈사항을 저장합니다.\n" + ] + } + ], + "source": [ + "# 매일 실행하는 스크립트\n", + "from preprocess_daily import DailyPreprocessor\n", + "dp = DailyPreprocessor()\n", + "\n", + "# 1. 데이터 불러오기\n", + "dp.load_data()\n", + "# 2. 중간산출물 만들기\n", + "dp.get_intermediates()\n", + "# 3. 이슈사항 저장\n", + "dp.write_issues()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophas_Aphas_Bmove_Amove_B
01751184
11752273
21753361
31753462
41754452
51761184
61762283
717633518
81771184
91772273
10177331718
111774451
121781184
131782273
141783352
\n", + "
" + ], + "text/plain": [ + " inter_no phas_A phas_B move_A move_B\n", + "0 175 1 1 8 4\n", + "1 175 2 2 7 3\n", + "2 175 3 3 6 1\n", + "3 175 3 4 6 2\n", + "4 175 4 4 5 2\n", + "5 176 1 1 8 4\n", + "6 176 2 2 8 3\n", + "7 176 3 3 5 18\n", + "8 177 1 1 8 4\n", + "9 177 2 2 7 3\n", + "10 177 3 3 17 18\n", + "11 177 4 4 5 1\n", + "12 178 1 1 8 4\n", + "13 178 2 2 7 3\n", + "14 178 3 3 5 2" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-1-1 match1 : 각 교차로마다 (A현시번호, B현시번호)를 (A이동류번호, B이동류번호)로 대응시키는 테이블입니다.\n", + "# 이러한 대응은 유일하지 않을 수 있지만(시차제), 임의의 대응 하나만 만들어놓아도 전체 프로세스에는 문제 없습니다.\n", + "dp.match1[:15]\n", + "# 이때, [표준테이블 3 : 이동류정보]를 사용합니다.\n", + "# [이동류정보] 테이블은 매 1초마다 바뀌는 테이블로서, 스크립트는 5초마다 한번씩 이 테이블을 불러옵니다.\n", + "# path_move = os.path.join(dp.path_tables, 'move')\n", + "# move = pd.read_csv(os.path.join(path_move, os.listdir(path_move)[400]), index_col=0)\n", + "# move" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophase_noring_typemove_no
01751A8
01751B4
11752A7
11752B3
21753A6
21753B1
41754A5
31754B2
51761A8
51761B4
61762A8
61762B3
71763A5
71763B18
81771A8
\n", + "
" + ], + "text/plain": [ + " inter_no phase_no ring_type move_no\n", + "0 175 1 A 8\n", + "0 175 1 B 4\n", + "1 175 2 A 7\n", + "1 175 2 B 3\n", + "2 175 3 A 6\n", + "2 175 3 B 1\n", + "4 175 4 A 5\n", + "3 175 4 B 2\n", + "5 176 1 A 8\n", + "5 176 1 B 4\n", + "6 176 2 A 8\n", + "6 176 2 B 3\n", + "7 176 3 A 5\n", + "7 176 3 B 18\n", + "8 177 1 A 8" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-1-2 match2 : match1을 계층화합니다. (세로로 길게 늘립니다.)\n", + "dp.match2[:15]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophase_noring_typemove_noinc_dirout_dir
01751A8
11751B4
21752A7
31752B3
41753A6
51753B1
61754A5
71754B2
81761A8
91761B4
101762A8
111762B3
121763A5
131763B18NaNNaN
141771A8
\n", + "
" + ], + "text/plain": [ + " inter_no phase_no ring_type move_no inc_dir out_dir\n", + "0 175 1 A 8 남 북\n", + "1 175 1 B 4 북 남\n", + "2 175 2 A 7 북 동\n", + "3 175 2 B 3 남 서\n", + "4 175 3 A 6 동 서\n", + "5 175 3 B 1 동 남\n", + "6 175 4 A 5 서 북\n", + "7 175 4 B 2 서 동\n", + "8 176 1 A 8 남 북\n", + "9 176 1 B 4 북 남\n", + "10 176 2 A 8 남 북\n", + "11 176 2 B 3 남 서\n", + "12 176 3 A 5 서 북\n", + "13 176 3 B 18 NaN NaN\n", + "14 177 1 A 8 남 북" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-1-3 match3 : 각 행에 진입방향, 진출방향을 부여합니다.\n", + "dp.match3[:15]\n", + "# 이때 [표준테이블 9 : NEMA 정보]를 사용합니다.\n", + "# [NEMA 정보] 테이블은 한 번 만들어두고 계속 사용하는 테이블입니다.\n", + "# dp.nema" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophase_noring_typemove_noinc_dirout_dirinc_angleout_angle
01751A8179004
11751B4003176
21752A7001095
31752B3179270
41753A6090270
51753B1090180
61754A5268000
71754B2270090
81761A8180000
91761B4359180
101762A8180000
111762B3180270
121763A5270356
131763B18NaNNaNNaNNaN
141771A8180000
\n", + "
" + ], + "text/plain": [ + " inter_no phase_no ring_type move_no inc_dir out_dir inc_angle out_angle\n", + "0 175 1 A 8 남 북 179 004\n", + "1 175 1 B 4 북 남 003 176\n", + "2 175 2 A 7 북 동 001 095\n", + "3 175 2 B 3 남 서 179 270\n", + "4 175 3 A 6 동 서 090 270\n", + "5 175 3 B 1 동 남 090 180\n", + "6 175 4 A 5 서 북 268 000\n", + "7 175 4 B 2 서 동 270 090\n", + "8 176 1 A 8 남 북 180 000\n", + "9 176 1 B 4 북 남 359 180\n", + "10 176 2 A 8 남 북 180 000\n", + "11 176 2 B 3 남 서 180 270\n", + "12 176 3 A 5 서 북 270 356\n", + "13 176 3 B 18 NaN NaN NaN NaN\n", + "14 177 1 A 8 남 북 180 000" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-1-4 match4 : 각 행에 진입각도, 진출각도를 부여합니다.\n", + "dp.match4[:15]\n", + "# 이때 [표준테이블 2 : 방위각정보]를 사용합니다.\n", + "# [방위각정보] 테이블은 하루에 한 번씩 업데이트되는 테이블입니다.\n", + "# dp.angle" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophase_noring_typemove_noinc_dirout_dirinc_angleout_angleinc_edgeout_edgenode_id
01751A8179004-571542797_02571500487_01i0
11751B4003176-571500487_01571542797_02i0
21752A7001095-571500487_01571545870_01i0
31752B3179270-571542797_02571510153_01i0
41753A6090270571545870_02571510153_01i0
51753B1090180571545870_02571542797_02i0
61754A5268000571510153_02571500487_01i0
71754B2270090571510153_02571545870_01i0
81761A8180000-571542810_01-571542797_02.99i1
91761B4359180571542797_02.99571542810_01i1
101762A8180000-571542810_01-571542797_02.99i1
111762B3180270-571542810_01571543469_01i1
121763A5270356571543469_02-571542797_02.99i1
131763B18NaNNaNNaNNaNNaNNaNi1
141771A8180000-571542809_01571542811_01i2
151771B4001176571542811_02571542809_01i2
161772A7000090571542811_02571542107_01i2
171772B3179270-571542809_01571542809_01i2
181773A17NaNNaNNaNNaNNaNNaNi2
191773B18NaNNaNNaNNaNNaNNaNi2
\n", + "
" + ], + "text/plain": [ + " inter_no phase_no ring_type move_no inc_dir out_dir inc_angle out_angle \\\n", + "0 175 1 A 8 남 북 179 004 \n", + "1 175 1 B 4 북 남 003 176 \n", + "2 175 2 A 7 북 동 001 095 \n", + "3 175 2 B 3 남 서 179 270 \n", + "4 175 3 A 6 동 서 090 270 \n", + "5 175 3 B 1 동 남 090 180 \n", + "6 175 4 A 5 서 북 268 000 \n", + "7 175 4 B 2 서 동 270 090 \n", + "8 176 1 A 8 남 북 180 000 \n", + "9 176 1 B 4 북 남 359 180 \n", + "10 176 2 A 8 남 북 180 000 \n", + "11 176 2 B 3 남 서 180 270 \n", + "12 176 3 A 5 서 북 270 356 \n", + "13 176 3 B 18 NaN NaN NaN NaN \n", + "14 177 1 A 8 남 북 180 000 \n", + "15 177 1 B 4 북 남 001 176 \n", + "16 177 2 A 7 북 동 000 090 \n", + "17 177 2 B 3 남 서 179 270 \n", + "18 177 3 A 17 NaN NaN NaN NaN \n", + "19 177 3 B 18 NaN NaN NaN NaN \n", + "\n", + " inc_edge out_edge node_id \n", + "0 -571542797_02 571500487_01 i0 \n", + "1 -571500487_01 571542797_02 i0 \n", + "2 -571500487_01 571545870_01 i0 \n", + "3 -571542797_02 571510153_01 i0 \n", + "4 571545870_02 571510153_01 i0 \n", + "5 571545870_02 571542797_02 i0 \n", + "6 571510153_02 571500487_01 i0 \n", + "7 571510153_02 571545870_01 i0 \n", + "8 -571542810_01 -571542797_02.99 i1 \n", + "9 571542797_02.99 571542810_01 i1 \n", + "10 -571542810_01 -571542797_02.99 i1 \n", + "11 -571542810_01 571543469_01 i1 \n", + "12 571543469_02 -571542797_02.99 i1 \n", + "13 NaN NaN i1 \n", + "14 -571542809_01 571542811_01 i2 \n", + "15 571542811_02 571542809_01 i2 \n", + "16 571542811_02 571542107_01 i2 \n", + "17 -571542809_01 571542809_01 i2 \n", + "18 NaN NaN i2 \n", + "19 NaN NaN i2 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-1-5 match5 : 각 행에 진입엣지id, 진출엣지id를 부여합니다.\n", + "# 이때 네트워크 파일을 사용하며, shape와 코사인유사도(내적)을 사용하는 과정이 있습니다.\n", + "dp.match5[:20]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophase_noring_typemove_noinc_dirout_dirinc_angleout_angleinc_edgeout_edgenode_id
01751A8179004-571542797_02571500487_01i0
11751B4003176-571500487_01571542797_02i0
21752A7001095-571500487_01571545870_01i0
31752B3179270-571542797_02571510153_01i0
41753A6090270571545870_02571510153_01i0
51753B1090180571545870_02571542797_02i0
61754A5268000571510153_02571500487_01i0
71754B2270090571510153_02571545870_01i0
01751A8179004NaNNaNu00
11751B4003176NaNNaNu00
21752A19001095571500487_02571500487_01.32u00
31752B3179270NaNNaNu00
41753A6090270NaNNaNu00
51753B1090180NaNNaNu00
61754A5268000NaNNaNu00
71754B2270090NaNNaNu00
81761A8180000-571542810_01-571542797_02.99i1
91761B4359180571542797_02.99571542810_01i1
101762A8180000-571542810_01-571542797_02.99i1
111762B3180270-571542810_01571543469_01i1
\n", + "
" + ], + "text/plain": [ + " inter_no phase_no ring_type move_no inc_dir out_dir inc_angle out_angle \\\n", + "0 175 1 A 8 남 북 179 004 \n", + "1 175 1 B 4 북 남 003 176 \n", + "2 175 2 A 7 북 동 001 095 \n", + "3 175 2 B 3 남 서 179 270 \n", + "4 175 3 A 6 동 서 090 270 \n", + "5 175 3 B 1 동 남 090 180 \n", + "6 175 4 A 5 서 북 268 000 \n", + "7 175 4 B 2 서 동 270 090 \n", + "0 175 1 A 8 남 북 179 004 \n", + "1 175 1 B 4 북 남 003 176 \n", + "2 175 2 A 19 북 동 001 095 \n", + "3 175 2 B 3 남 서 179 270 \n", + "4 175 3 A 6 동 서 090 270 \n", + "5 175 3 B 1 동 남 090 180 \n", + "6 175 4 A 5 서 북 268 000 \n", + "7 175 4 B 2 서 동 270 090 \n", + "8 176 1 A 8 남 북 180 000 \n", + "9 176 1 B 4 북 남 359 180 \n", + "10 176 2 A 8 남 북 180 000 \n", + "11 176 2 B 3 남 서 180 270 \n", + "\n", + " inc_edge out_edge node_id \n", + "0 -571542797_02 571500487_01 i0 \n", + "1 -571500487_01 571542797_02 i0 \n", + "2 -571500487_01 571545870_01 i0 \n", + "3 -571542797_02 571510153_01 i0 \n", + "4 571545870_02 571510153_01 i0 \n", + "5 571545870_02 571542797_02 i0 \n", + "6 571510153_02 571500487_01 i0 \n", + "7 571510153_02 571545870_01 i0 \n", + "0 NaN NaN u00 \n", + "1 NaN NaN u00 \n", + "2 571500487_02 571500487_01.32 u00 \n", + "3 NaN NaN u00 \n", + "4 NaN NaN u00 \n", + "5 NaN NaN u00 \n", + "6 NaN NaN u00 \n", + "7 NaN NaN u00 \n", + "8 -571542810_01 -571542797_02.99 i1 \n", + "9 571542797_02.99 571542810_01 i1 \n", + "10 -571542810_01 -571542797_02.99 i1 \n", + "11 -571542810_01 571543469_01 i1 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-1-6 match6 : 부교차로(유턴교차로와 연동교차로)에도 진입엣지id, 진출엣지id를 부여합니다.\n", + "# 부교차로의 다른 컬럼들 (inter_no ~ out_angle)은 주교차로의 값을 그대로 따릅니다.\n", + "# 부교차로의 진입엣지id, 진출엣지id는 별도로 부여되지 않으면 NaN이 됩니다.\n", + "# 마지막으로 노드id(네트워크에서의 junction id)도 부여됩니다.\n", + "dp.match6[:20]\n", + "\n", + "# 이때 [표준테이블 6 : 교차로-노드 매칭]과 [표준테이블 7 : 유턴교차로정보], [표준테이블 8 : 연동교차로정보]가 사용됩니다.\n", + "# dp.inter_node\n", + "# dp.uturn\n", + "# dp.load_tables()\n", + "# dp.coord" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nomove_noinc_dirout_dirinc_edgeout_edgenode_id
01751571545870_02571542797_02i0
11752571510153_02571545870_01i0
21753-571542797_02571510153_01i0
31754-571500487_01571542797_02i0
41755571510153_02571500487_01i0
51756571545870_02571510153_01i0
61757-571500487_01571545870_01i0
71758-571542797_02571500487_01i0
817521-571500487_01571510153_01i0
917521571510153_02571542797_02i0
1017521-571542797_02571545870_01i0
1117521571545870_02571500487_01i0
1217519571500487_02571500487_01.32u00
131763-571542810_01571543469_01i1
141764571542797_02.99571542810_01i1
151765571543469_02-571542797_02.99i1
161768-571542810_01-571542797_02.99i1
1717621571542797_02.99571543469_01i1
1817621571543469_02571542810_01i1
191771571542107_02571542809_01i2
\n", + "
" + ], + "text/plain": [ + " inter_no move_no inc_dir out_dir inc_edge out_edge \\\n", + "0 175 1 동 남 571545870_02 571542797_02 \n", + "1 175 2 서 동 571510153_02 571545870_01 \n", + "2 175 3 남 서 -571542797_02 571510153_01 \n", + "3 175 4 북 남 -571500487_01 571542797_02 \n", + "4 175 5 서 북 571510153_02 571500487_01 \n", + "5 175 6 동 서 571545870_02 571510153_01 \n", + "6 175 7 북 동 -571500487_01 571545870_01 \n", + "7 175 8 남 북 -571542797_02 571500487_01 \n", + "8 175 21 북 서 -571500487_01 571510153_01 \n", + "9 175 21 서 남 571510153_02 571542797_02 \n", + "10 175 21 남 동 -571542797_02 571545870_01 \n", + "11 175 21 동 북 571545870_02 571500487_01 \n", + "12 175 19 북 동 571500487_02 571500487_01.32 \n", + "13 176 3 남 서 -571542810_01 571543469_01 \n", + "14 176 4 북 남 571542797_02.99 571542810_01 \n", + "15 176 5 서 북 571543469_02 -571542797_02.99 \n", + "16 176 8 남 북 -571542810_01 -571542797_02.99 \n", + "17 176 21 북 서 571542797_02.99 571543469_01 \n", + "18 176 21 서 남 571543469_02 571542810_01 \n", + "19 177 1 동 남 571542107_02 571542809_01 \n", + "\n", + " node_id \n", + "0 i0 \n", + "1 i0 \n", + "2 i0 \n", + "3 i0 \n", + "4 i0 \n", + "5 i0 \n", + "6 i0 \n", + "7 i0 \n", + "8 i0 \n", + "9 i0 \n", + "10 i0 \n", + "11 i0 \n", + "12 u00 \n", + "13 i1 \n", + "14 i1 \n", + "15 i1 \n", + "16 i1 \n", + "17 i1 \n", + "18 i1 \n", + "19 i2 " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-1-7 matching : 부교차로(유턴교차로와 연동교차로)에도 진입엣지id, 진출엣지id를 부여합니다.\n", + "# 또한, 모든 교차로에 대하여, 가능한 모든 이동류번호에 대하여 진입엣지id, 진출엣지id를 부여합니다.\n", + "dp.matching[:20]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## `generate_signal.py`" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1. 데이터를 준비합니다.\n", + "1-1. 네트워크가 로드되었습니다.\n", + "1-2. 테이블들이 로드되었습니다.\n", + "2. 신호이력 테이블을 변환합니다.\n", + "3. 이동류정보 테이블을 변환합니다.\n", + "4. 통합 테이블을 생성합니다.\n", + "5. 신호를 생성합니다.\n", + "6. 이슈사항을 저장합니다.\n" + ] + } + ], + "source": [ + "# 5분마다 실행하는 스크립트\n", + "from generate_signals import SignalGenerator\n", + "sg = SignalGenerator()\n", + "\n", + "# 1. 데이터 준비\n", + "sg.prepare_data()\n", + "# 2. 신호이력 전처리\n", + "sg.process_history()\n", + "# 3. 이동류정보 전처리\n", + "sg.process_movement()\n", + "# 4. 통합테이블 생성\n", + "sg.make_histids()\n", + "# 5. 신호 생성\n", + "sg.get_signals()\n", + "# 6. 이슈사항 저장\n", + "sg.write_issues()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cycle
19091761704416540371034000000371034000000180
19101751704416540434555370000434533590000180
191120217044165704611400000046114000000160
1912201170441656033362558180003336255818000170
19132061704416610455326260000455326260000150
19142101704416600434370240000285870240000180
19151781704416690383943500000383971220000170
19161771704416700432770400000432770400000180
191720217044167294611400000046114000000160
19181761704416719371034000000371034000000180
19191751704416720434555370000434533590000180
1920201170441673033362558180003336255818000170
19212061704416760455326260000455326260000150
19222101704416780434370240000285870240000180
19231781704416860383943500000383971220000170
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "1909 176 1704416540 37 103 40 0 0 \n", + "1910 175 1704416540 43 45 55 37 0 \n", + "1911 202 1704416570 46 114 0 0 0 \n", + "1912 201 1704416560 33 36 25 58 18 \n", + "1913 206 1704416610 45 53 26 26 0 \n", + "1914 210 1704416600 43 43 70 24 0 \n", + "1915 178 1704416690 38 39 43 50 0 \n", + "1916 177 1704416700 43 27 70 40 0 \n", + "1917 202 1704416729 46 114 0 0 0 \n", + "1918 176 1704416719 37 103 40 0 0 \n", + "1919 175 1704416720 43 45 55 37 0 \n", + "1920 201 1704416730 33 36 25 58 18 \n", + "1921 206 1704416760 45 53 26 26 0 \n", + "1922 210 1704416780 43 43 70 24 0 \n", + "1923 178 1704416860 38 39 43 50 0 \n", + "\n", + " dura_A6 dura_A7 dura_A8 dura_B1 dura_B2 dura_B3 dura_B4 dura_B5 \\\n", + "1909 0 0 0 37 103 40 0 0 \n", + "1910 0 0 0 43 45 33 59 0 \n", + "1911 0 0 0 46 114 0 0 0 \n", + "1912 0 0 0 33 36 25 58 18 \n", + "1913 0 0 0 45 53 26 26 0 \n", + "1914 0 0 0 28 58 70 24 0 \n", + "1915 0 0 0 38 39 71 22 0 \n", + "1916 0 0 0 43 27 70 40 0 \n", + "1917 0 0 0 46 114 0 0 0 \n", + "1918 0 0 0 37 103 40 0 0 \n", + "1919 0 0 0 43 45 33 59 0 \n", + "1920 0 0 0 33 36 25 58 18 \n", + "1921 0 0 0 45 53 26 26 0 \n", + "1922 0 0 0 28 58 70 24 0 \n", + "1923 0 0 0 38 39 71 22 0 \n", + "\n", + " dura_B6 dura_B7 dura_B8 cycle \n", + "1909 0 0 0 180 \n", + "1910 0 0 0 180 \n", + "1911 0 0 0 160 \n", + "1912 0 0 0 170 \n", + "1913 0 0 0 150 \n", + "1914 0 0 0 180 \n", + "1915 0 0 0 170 \n", + "1916 0 0 0 180 \n", + "1917 0 0 0 160 \n", + "1918 0 0 0 180 \n", + "1919 0 0 0 180 \n", + "1920 0 0 0 170 \n", + "1921 0 0 0 150 \n", + "1922 0 0 0 180 \n", + "1923 0 0 0 170 " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "### 2. 신호이력 전처리\n", + "\n", + "# 2-1. rhistory : 현재시점 기준으로 최근 30분간의 신호이력을 불러옵니다.\n", + "# 종료유닉스였던 것을 시작유닉스로 바꿉니다.\n", + "# 나중을 위해 현재시각 + 10분의 시점에 한주기의 신호를 추가합니다.\n", + "# rhistory에 모든 교차로번호가 존재하지 않으면 해당 교차로번호에 대한 신호이력을 추가합니다. (at 최근 프로그램 시작시각)\n", + "sg.rhistory[:15]\n", + "# 이때 [표준테이블 5 : 신호이력]을 사용합니다.\n", + "# [신호이력] 테이블은 매 주기마다 업데이트되는 테이블입니다.\n", + "# sg.history" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8...dura_B4dura_B5dura_B6dura_B7dura_B8cycleD_nS_nUnnamed: 0offset
61761704417620371034000000...00000180900.0900.0NaNNaN
71761704417800371034000000...00000180900.0900.0NaNNaN
81761704417980371034000000...00000180900.0900.0NaNNaN
91761704418160371034000000...00000180900.0900.0NaNNaN
101761704418520371034000000...00000180NaNNaN6.0169.0
111761704418700371034000000...00000180NaNNaN6.0169.0
121761704418880371034000000...00000180NaNNaN6.0169.0
61751704417620434555370000...590000180900.0900.0NaNNaN
71751704417800434555370000...590000180900.0900.0NaNNaN
81751704417980434555370000...590000180900.0900.0NaNNaN
91751704418160434555370000...590000180900.0900.0NaNNaN
101751704418520434555370000...590000180NaNNaN2.028.0
111751704418700434555370000...590000180NaNNaN2.028.0
121751704418880434555370000...590000180NaNNaN2.028.0
7202170441769046114000000...00000160900.0960.0NaNNaN
\n", + "

15 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "6 176 1704417620 37 103 40 0 0 \n", + "7 176 1704417800 37 103 40 0 0 \n", + "8 176 1704417980 37 103 40 0 0 \n", + "9 176 1704418160 37 103 40 0 0 \n", + "10 176 1704418520 37 103 40 0 0 \n", + "11 176 1704418700 37 103 40 0 0 \n", + "12 176 1704418880 37 103 40 0 0 \n", + "6 175 1704417620 43 45 55 37 0 \n", + "7 175 1704417800 43 45 55 37 0 \n", + "8 175 1704417980 43 45 55 37 0 \n", + "9 175 1704418160 43 45 55 37 0 \n", + "10 175 1704418520 43 45 55 37 0 \n", + "11 175 1704418700 43 45 55 37 0 \n", + "12 175 1704418880 43 45 55 37 0 \n", + "7 202 1704417690 46 114 0 0 0 \n", + "\n", + " dura_A6 dura_A7 dura_A8 ... dura_B4 dura_B5 dura_B6 dura_B7 \\\n", + "6 0 0 0 ... 0 0 0 0 \n", + "7 0 0 0 ... 0 0 0 0 \n", + "8 0 0 0 ... 0 0 0 0 \n", + "9 0 0 0 ... 0 0 0 0 \n", + "10 0 0 0 ... 0 0 0 0 \n", + "11 0 0 0 ... 0 0 0 0 \n", + "12 0 0 0 ... 0 0 0 0 \n", + "6 0 0 0 ... 59 0 0 0 \n", + "7 0 0 0 ... 59 0 0 0 \n", + "8 0 0 0 ... 59 0 0 0 \n", + "9 0 0 0 ... 59 0 0 0 \n", + "10 0 0 0 ... 59 0 0 0 \n", + "11 0 0 0 ... 59 0 0 0 \n", + "12 0 0 0 ... 59 0 0 0 \n", + "7 0 0 0 ... 0 0 0 0 \n", + "\n", + " dura_B8 cycle D_n S_n Unnamed: 0 offset \n", + "6 0 180 900.0 900.0 NaN NaN \n", + "7 0 180 900.0 900.0 NaN NaN \n", + "8 0 180 900.0 900.0 NaN NaN \n", + "9 0 180 900.0 900.0 NaN NaN \n", + "10 0 180 NaN NaN 6.0 169.0 \n", + "11 0 180 NaN NaN 6.0 169.0 \n", + "12 0 180 NaN NaN 6.0 169.0 \n", + "6 0 180 900.0 900.0 NaN NaN \n", + "7 0 180 900.0 900.0 NaN NaN \n", + "8 0 180 900.0 900.0 NaN NaN \n", + "9 0 180 900.0 900.0 NaN NaN \n", + "10 0 180 NaN NaN 2.0 28.0 \n", + "11 0 180 NaN NaN 2.0 28.0 \n", + "12 0 180 NaN NaN 2.0 28.0 \n", + "7 0 160 900.0 960.0 NaN NaN \n", + "\n", + "[15 rows x 23 columns]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-2. rhists : 참값판단프로세스\n", + "# rhistory에서 각 행마다 시간차이와 현시합을 비교하여 그 차이가 5초 이내이면 참값으로 판단하고, 그렇지 않으면 거짓값으로 판단합니다.\n", + "# 만약 해당 행이 거짓값이면, 다음 과정을 진행합니다.\n", + "# 이전 행과의 차이가 주기의 두 배보다 크면 신호계획에서 현시값을 불러와 채워나갑니다. (그 차이가 주기보다 작거나 같아질때까지) <결측치 처리>\n", + "# 이전 행과의 차이가 주기의 두 배보다 크지 않으면 해당 행을 \"삭제\"하거나 일정한 비율로 \"대체\"합니다. <이상치 처리>\n", + "sg.rhists[:15]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixphas_Aphas_Bduration
017617044176201137
1176170441762022103
217617044176203340
017617044178001137
1176170441780022103
217617044178003340
017617044179801137
1176170441798022103
217617044179803340
017617044181601137
1176170441816022103
217617044181603340
017617044185201137
1176170441852022103
217617044185203340
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix phas_A phas_B duration\n", + "0 176 1704417620 1 1 37\n", + "1 176 1704417620 2 2 103\n", + "2 176 1704417620 3 3 40\n", + "0 176 1704417800 1 1 37\n", + "1 176 1704417800 2 2 103\n", + "2 176 1704417800 3 3 40\n", + "0 176 1704417980 1 1 37\n", + "1 176 1704417980 2 2 103\n", + "2 176 1704417980 3 3 40\n", + "0 176 1704418160 1 1 37\n", + "1 176 1704418160 2 2 103\n", + "2 176 1704418160 3 3 40\n", + "0 176 1704418520 1 1 37\n", + "1 176 1704418520 2 2 103\n", + "2 176 1704418520 3 3 40" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2-3. hrhists : 계층화\n", + "# rhists를 계층화된 형태로 변환합니다.\n", + "sg.hrhists[:15]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophas_Aphas_Bmove_Amove_Bstart_unix
017811841704414919
117822731704414919
217833521704414919
317844611704414919
420611841704414920
52062217181704414920
620633841704414920
72064417181704414920
817611841704414940
917622831704414940
10176335181704414940
1117511841704414951
1217522731704414951
1317533611704414951
1417534621704414951
\n", + "
" + ], + "text/plain": [ + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 178 1 1 8 4 1704414919\n", + "1 178 2 2 7 3 1704414919\n", + "2 178 3 3 5 2 1704414919\n", + "3 178 4 4 6 1 1704414919\n", + "4 206 1 1 8 4 1704414920\n", + "5 206 2 2 17 18 1704414920\n", + "6 206 3 3 8 4 1704414920\n", + "7 206 4 4 17 18 1704414920\n", + "8 176 1 1 8 4 1704414940\n", + "9 176 2 2 8 3 1704414940\n", + "10 176 3 3 5 18 1704414940\n", + "11 175 1 1 8 4 1704414951\n", + "12 175 2 2 7 3 1704414951\n", + "13 175 3 3 6 1 1704414951\n", + "14 175 3 4 6 2 1704414951" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "### 3. 이동류정보 전처리\n", + "\n", + "# 3-1. movement\n", + "# 5분간의 [이동류정보] 테이블을 모아서 concat합니다.\n", + "# 이때, 신호이력에서 최근의 종료유닉스시각을 가져와서 시작유닉스시각으로 둡니다.\n", + "sg.movement[:15]\n", + "\n", + "# 이때, [표준테이블 3 : 이동류정보]를 사용합니다.\n", + "# [이동류정보] 테이블은 매 1초마다 바뀌는 테이블로서, 스크립트는 5초마다 한번씩 이 테이블을 불러옵니다.\n", + "# path_move = os.path.join(dp.path_tables, 'move')\n", + "# move = pd.read_csv(os.path.join(path_move, os.listdir(path_move)[400]), index_col=0)\n", + "# move" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophas_Aphas_Bmove_Amove_Bstart_unixUnnamed: 0
017811841704414919NaN
117822731704414919NaN
217833521704414919NaN
317844611704414919NaN
420611841704414920NaN
........................
8912011183170441877016.0
8922012252170441877017.0
8932013362170441877018.0
8942014461170441877019.0
8952015574170441877020.0
\n", + "

896 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " inter_no phas_A phas_B move_A move_B start_unix Unnamed: 0\n", + "0 178 1 1 8 4 1704414919 NaN\n", + "1 178 2 2 7 3 1704414919 NaN\n", + "2 178 3 3 5 2 1704414919 NaN\n", + "3 178 4 4 6 1 1704414919 NaN\n", + "4 206 1 1 8 4 1704414920 NaN\n", + ".. ... ... ... ... ... ... ...\n", + "891 201 1 1 8 3 1704418770 16.0\n", + "892 201 2 2 5 2 1704418770 17.0\n", + "893 201 3 3 6 2 1704418770 18.0\n", + "894 201 4 4 6 1 1704418770 19.0\n", + "895 201 5 5 7 4 1704418770 20.0\n", + "\n", + "[896 rows x 7 columns]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 3-2. movement_updated\n", + "# 참값판단 프로세스의 결측처리시 추가한 시작유닉스를 추가합니다.\n", + "sg.movement_updated" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixphas_Aphas_Bduration
017617044176201137
1176170441762022103
217617044176203340
017617044178001137
1176170441780022103
..................
317717044187904440
017717044189201131
117717044189202219
217717044189203350
317717044189204428
\n", + "

237 rows × 5 columns

\n", + "
" + ], + "text/plain": [ + " inter_no start_unix phas_A phas_B duration\n", + "0 176 1704417620 1 1 37\n", + "1 176 1704417620 2 2 103\n", + "2 176 1704417620 3 3 40\n", + "0 176 1704417800 1 1 37\n", + "1 176 1704417800 2 2 103\n", + ".. ... ... ... ... ...\n", + "3 177 1704418790 4 4 40\n", + "0 177 1704418920 1 1 31\n", + "1 177 1704418920 2 2 19\n", + "2 177 1704418920 3 3 50\n", + "3 177 1704418920 4 4 28\n", + "\n", + "[237 rows x 5 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophas_Aphas_Bmove_Amove_Bstart_unixUnnamed: 0
017811841704414919NaN
117822731704414919NaN
217833521704414919NaN
317844611704414919NaN
420611841704414920NaN
........................
8912011183170441877016.0
8922012252170441877017.0
8932013362170441877018.0
8942014461170441877019.0
8952015574170441877020.0
\n", + "

896 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " inter_no phas_A phas_B move_A move_B start_unix Unnamed: 0\n", + "0 178 1 1 8 4 1704414919 NaN\n", + "1 178 2 2 7 3 1704414919 NaN\n", + "2 178 3 3 5 2 1704414919 NaN\n", + "3 178 4 4 6 1 1704414919 NaN\n", + "4 206 1 1 8 4 1704414920 NaN\n", + ".. ... ... ... ... ... ... ...\n", + "891 201 1 1 8 3 1704418770 16.0\n", + "892 201 2 2 5 2 1704418770 17.0\n", + "893 201 3 3 6 2 1704418770 18.0\n", + "894 201 4 4 6 1 1704418770 19.0\n", + "895 201 5 5 7 4 1704418770 20.0\n", + "\n", + "[896 rows x 7 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nomove_noinc_dirout_dirinc_edgeout_edgenode_id
01751571545870_02571542797_02i0
11752571510153_02571545870_01i0
21753-571542797_02571510153_01i0
31754-571500487_01571542797_02i0
41755571510153_02571500487_01i0
........................
7021021571511538_02.121571500535_01i6
7121021571500535_02.18571500585_01i6
7221021571500585_02571542115_01i6
7321021-571542115_01571511538_01i6
7421019571500535_02-571500535_02u60
\n", + "

75 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " inter_no move_no inc_dir out_dir inc_edge out_edge node_id\n", + "0 175 1 동 남 571545870_02 571542797_02 i0\n", + "1 175 2 서 동 571510153_02 571545870_01 i0\n", + "2 175 3 남 서 -571542797_02 571510153_01 i0\n", + "3 175 4 북 남 -571500487_01 571542797_02 i0\n", + "4 175 5 서 북 571510153_02 571500487_01 i0\n", + ".. ... ... ... ... ... ... ...\n", + "70 210 21 북 서 571511538_02.121 571500535_01 i6\n", + "71 210 21 서 남 571500535_02.18 571500585_01 i6\n", + "72 210 21 남 동 571500585_02 571542115_01 i6\n", + "73 210 21 동 북 -571542115_01 571511538_01 i6\n", + "74 210 19 서 북 571500535_02 -571500535_02 u60\n", + "\n", + "[75 rows x 7 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bdurationinc_edge_Aout_edge_Ainc_edge_Bout_edge_B
6176i117044179801137-571542810_01-571542797_02.99571542797_02.99571542810_01
7176i1170441798022103-571542810_01-571542797_02.99-571542810_01571543469_01
8176i117044179803340571543469_02-571542797_02.99NaNNaN
9176i117044181601137-571542810_01-571542797_02.99571542797_02.99571542810_01
10176i1170441816022103-571542810_01-571542797_02.99-571542810_01571543469_01
.................................
225177i217044187904440-571542809_01571542811_01571542107_02571542809_01
226177i217044189201131-571542809_01571542811_01571542811_02571542809_01
227177i217044189202219571542811_02571542107_01-571542809_01571542809_01
228177i217044189203350NaNNaNNaNNaN
229177i217044189204428-571542809_01571542811_01571542107_02571542809_01
\n", + "

171 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B duration inc_edge_A \\\n", + "6 176 i1 1704417980 1 1 37 -571542810_01 \n", + "7 176 i1 1704417980 2 2 103 -571542810_01 \n", + "8 176 i1 1704417980 3 3 40 571543469_02 \n", + "9 176 i1 1704418160 1 1 37 -571542810_01 \n", + "10 176 i1 1704418160 2 2 103 -571542810_01 \n", + ".. ... ... ... ... ... ... ... \n", + "225 177 i2 1704418790 4 4 40 -571542809_01 \n", + "226 177 i2 1704418920 1 1 31 -571542809_01 \n", + "227 177 i2 1704418920 2 2 19 571542811_02 \n", + "228 177 i2 1704418920 3 3 50 NaN \n", + "229 177 i2 1704418920 4 4 28 -571542809_01 \n", + "\n", + " out_edge_A inc_edge_B out_edge_B \n", + "6 -571542797_02.99 571542797_02.99 571542810_01 \n", + "7 -571542797_02.99 -571542810_01 571543469_01 \n", + "8 -571542797_02.99 NaN NaN \n", + "9 -571542797_02.99 571542797_02.99 571542810_01 \n", + "10 -571542797_02.99 -571542810_01 571543469_01 \n", + ".. ... ... ... \n", + "225 571542811_01 571542107_02 571542809_01 \n", + "226 571542811_01 571542811_02 571542809_01 \n", + "227 571542107_01 -571542809_01 571542809_01 \n", + "228 NaN NaN NaN \n", + "229 571542811_01 571542107_02 571542809_01 \n", + "\n", + "[171 rows x 10 columns]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "### 4. 통합테이블 생성\n", + "# 지금까지 만들어놓은 두 테이블 hrhists와 movement_updated를 통합합니다.\n", + "# 또한, matching 테이블을 사용하여 진입엣지id와 진출엣지id를 붙입니다.\n", + "\n", + "# display(sg.hrhists)\n", + "# display(sg.movement_updated)\n", + "# display(dp.matching)\n", + "\n", + "# 4-1. histid (history with edge_ids)\n", + "sg.histid" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nonode_idstart_unixphas_Aphas_Bdurationinc_edge_Aout_edge_Ainc_edge_Bout_edge_B
6176i117044179801137-571542810_01-571542797_02.99571542797_02.99571542810_01
7176i1170441798022103-571542810_01-571542797_02.99-571542810_01571543469_01
8176i117044179803340571543469_02-571542797_02.99NaNNaN
9176i117044181601137-571542810_01-571542797_02.99571542797_02.99571542810_01
10176i1170441816022103-571542810_01-571542797_02.99-571542810_01571543469_01
.................................
169210u6017044189201124NaNNaNNaNNaN
170210u6017044189201214NaNNaNNaNNaN
171210u6017044189202238NaNNaNNaNNaN
172210u6017044189203362NaNNaNNaNNaN
173210u6017044189204421NaNNaNNaNNaN
\n", + "

321 rows × 10 columns

\n", + "
" + ], + "text/plain": [ + " inter_no node_id start_unix phas_A phas_B duration inc_edge_A \\\n", + "6 176 i1 1704417980 1 1 37 -571542810_01 \n", + "7 176 i1 1704417980 2 2 103 -571542810_01 \n", + "8 176 i1 1704417980 3 3 40 571543469_02 \n", + "9 176 i1 1704418160 1 1 37 -571542810_01 \n", + "10 176 i1 1704418160 2 2 103 -571542810_01 \n", + ".. ... ... ... ... ... ... ... \n", + "169 210 u60 1704418920 1 1 24 NaN \n", + "170 210 u60 1704418920 1 2 14 NaN \n", + "171 210 u60 1704418920 2 2 38 NaN \n", + "172 210 u60 1704418920 3 3 62 NaN \n", + "173 210 u60 1704418920 4 4 21 NaN \n", + "\n", + " out_edge_A inc_edge_B out_edge_B \n", + "6 -571542797_02.99 571542797_02.99 571542810_01 \n", + "7 -571542797_02.99 -571542810_01 571543469_01 \n", + "8 -571542797_02.99 NaN NaN \n", + "9 -571542797_02.99 571542797_02.99 571542810_01 \n", + "10 -571542797_02.99 -571542810_01 571543469_01 \n", + ".. ... ... ... \n", + "169 NaN NaN NaN \n", + "170 NaN NaN NaN \n", + "171 NaN NaN NaN \n", + "172 NaN NaN NaN \n", + "173 NaN NaN NaN \n", + "\n", + "[321 rows x 10 columns]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 4-2. histids\n", + "# 이전의 histid는 주교차로에 대한 테이블이었습니다.\n", + "# match6를 사용하여 부교차로(유턴, 연동)에 대한 행을 만듭니다.\n", + "\n", + "# sg.match6\n", + "sg.histids" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'c30': ['g', 'g', 'g', 'g', 'g', 'g'],\n", + " 'i0': ['g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r'],\n", + " 'i1': ['g', 'r', 'r', 'r', 'r', 'r', 'r', 'g', 'r', 'r'],\n", + " 'i2': ['r', 'r', 'g', 'g', 'r', 'r', 'r'],\n", + " 'i3': ['g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r'],\n", + " 'i6': ['g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r'],\n", + " 'i7': ['r', 'r', 'r', 'g', 'g', 'r', 'r'],\n", + " 'i8': ['g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r',\n", + " 'g',\n", + " 'r',\n", + " 'r',\n", + " 'r'],\n", + " 'i9': ['r', 'r', 'r', 'r'],\n", + " 'u00': ['g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g'],\n", + " 'u20': ['g', 'g', 'g', 'g', 'g', 'g'],\n", + " 'u30': ['g', 'g', 'g', 'g', 'g', 'g', 'g', 'g'],\n", + " 'u31': ['g', 'g', 'g', 'g', 'g', 'g', 'g', 'g'],\n", + " 'u32': ['g', 'g', 'g', 'g', 'g', 'g', 'g', 'g'],\n", + " 'u60': ['g', 'g', 'g', 'g', 'g', 'g', 'g', 'g', 'g']}" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "### 5. 신호 생성\n", + "\n", + "# 5-1. 신호초기화\n", + "# 각 노드id에 대하여 비보호우회전신호(g)를 부여합니다.\n", + "sg.node2init" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
node_idstart_unixphase_sumodurationstatestart_dt
0i11704417980037gGGGGGrgrr2024-01-05 10:26:20
1i117044179801103grrGGGGgrr2024-01-05 10:26:20
2i11704417980240grrrrrrgGG2024-01-05 10:26:20
3i11704418160037gGGGGGrgrr2024-01-05 10:29:20
4i117044181601103grrGGGGgrr2024-01-05 10:29:20
.....................
316u601704418920024grrrgGGGrgrrgrrr2024-01-05 10:42:00
317u601704418920114grrrgGGGrgrrgGGr2024-01-05 10:42:00
318u601704418920238grrrgrrrrgrrgGGG2024-01-05 10:42:00
319u601704418920362gGGGgrrrrgrrgrrr2024-01-05 10:42:00
320u601704418920421grrrgrrrrgGGgrrr2024-01-05 10:42:00
\n", + "

321 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " node_id start_unix phase_sumo duration state \\\n", + "0 i1 1704417980 0 37 gGGGGGrgrr \n", + "1 i1 1704417980 1 103 grrGGGGgrr \n", + "2 i1 1704417980 2 40 grrrrrrgGG \n", + "3 i1 1704418160 0 37 gGGGGGrgrr \n", + "4 i1 1704418160 1 103 grrGGGGgrr \n", + ".. ... ... ... ... ... \n", + "316 u60 1704418920 0 24 grrrgGGGrgrrgrrr \n", + "317 u60 1704418920 1 14 grrrgGGGrgrrgGGr \n", + "318 u60 1704418920 2 38 grrrgrrrrgrrgGGG \n", + "319 u60 1704418920 3 62 gGGGgrrrrgrrgrrr \n", + "320 u60 1704418920 4 21 grrrgrrrrgGGgrrr \n", + "\n", + " start_dt \n", + "0 2024-01-05 10:26:20 \n", + "1 2024-01-05 10:26:20 \n", + "2 2024-01-05 10:26:20 \n", + "3 2024-01-05 10:29:20 \n", + "4 2024-01-05 10:29:20 \n", + ".. ... \n", + "316 2024-01-05 10:42:00 \n", + "317 2024-01-05 10:42:00 \n", + "318 2024-01-05 10:42:00 \n", + "319 2024-01-05 10:42:00 \n", + "320 2024-01-05 10:42:00 \n", + "\n", + "[321 rows x 6 columns]" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 5-2. 녹색신호 부여\n", + "# 녹색신호(G)를 부여합니다.\n", + "# 각 (노드id, 시작시각, 현시번호)에 대하여 신호(state)를 부여합니다.\n", + "sg.sigtable" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
node_idstart_unixphase_sumodurationstatestart_dt
216c301704418050038gGGGrgrrrrgGGGrgrrrr2024-01-05 10:27:30
217c301704418050139grrrGgrrrrgrrrGgrrrr2024-01-05 10:27:30
218c301704418050243grrrrgrrrrgrrrrgGGGG2024-01-05 10:27:30
219c301704418050322grrrrgGGGGgrrrrgrrrr2024-01-05 10:27:30
220c301704418221038gGGGrgrrrrgGGGrgrrrr2024-01-05 10:30:21
.....................
311u601704418760028grrrgGGGrgrrgrrr2024-01-05 10:39:20
312u601704418760115grrrgGGGrgrrgGGr2024-01-05 10:39:20
313u601704418760243grrrgrrrrgrrgGGG2024-01-05 10:39:20
314u601704418760370gGGGgrrrrgrrgrrr2024-01-05 10:39:20
315u601704418760424grrrgrrrrgGGgrrr2024-01-05 10:39:20
\n", + "

238 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " node_id start_unix phase_sumo duration state \\\n", + "216 c30 1704418050 0 38 gGGGrgrrrrgGGGrgrrrr \n", + "217 c30 1704418050 1 39 grrrGgrrrrgrrrGgrrrr \n", + "218 c30 1704418050 2 43 grrrrgrrrrgrrrrgGGGG \n", + "219 c30 1704418050 3 22 grrrrgGGGGgrrrrgrrrr \n", + "220 c30 1704418221 0 38 gGGGrgrrrrgGGGrgrrrr \n", + ".. ... ... ... ... ... \n", + "311 u60 1704418760 0 28 grrrgGGGrgrrgrrr \n", + "312 u60 1704418760 1 15 grrrgGGGrgrrgGGr \n", + "313 u60 1704418760 2 43 grrrgrrrrgrrgGGG \n", + "314 u60 1704418760 3 70 gGGGgrrrrgrrgrrr \n", + "315 u60 1704418760 4 24 grrrgrrrrgGGgrrr \n", + "\n", + " start_dt \n", + "216 2024-01-05 10:27:30 \n", + "217 2024-01-05 10:27:30 \n", + "218 2024-01-05 10:27:30 \n", + "219 2024-01-05 10:27:30 \n", + "220 2024-01-05 10:30:21 \n", + ".. ... \n", + "311 2024-01-05 10:39:20 \n", + "312 2024-01-05 10:39:20 \n", + "313 2024-01-05 10:39:20 \n", + "314 2024-01-05 10:39:20 \n", + "315 2024-01-05 10:39:20 \n", + "\n", + "[238 rows x 6 columns]" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 5-3. 신호 파일의 시작 및 종료시각 설정\n", + "sg.Sigtable" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
node_idstart_unixphase_sumodurationstatestart_dt
0c3017044180500_g33gGGGrgrrrrgGGGrgrrrr2024-01-05 10:27:30
1c3017044180500_y4gyyyrgrrrrgyyyrgrrrr2024-01-05 10:27:30
2c3017044180501__r1grrrrgrrrrgrrrrgrrrr2024-01-05 10:27:30
0c3017044180501_g34grrrGgrrrrgrrrGgrrrr2024-01-05 10:27:30
1c3017044180501_y4grrrygrrrrgrrrygrrrr2024-01-05 10:27:30
.....................
2u6017044187603__r1grrrgrrrrgrrgrrr2024-01-05 10:39:20
0u6017044187603_g65gGGGgrrrrgrrgrrr2024-01-05 10:39:20
1u6017044187603_y4gyyygrrrrgrrgrrr2024-01-05 10:39:20
2u6017044187604__r1grrrgrrrrgrrgrrr2024-01-05 10:39:20
315u6017044187604_g19grrrgrrrrgGGgrrr2024-01-05 10:39:20
\n", + "

684 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " node_id start_unix phase_sumo duration state \\\n", + "0 c30 1704418050 0_g 33 gGGGrgrrrrgGGGrgrrrr \n", + "1 c30 1704418050 0_y 4 gyyyrgrrrrgyyyrgrrrr \n", + "2 c30 1704418050 1__r 1 grrrrgrrrrgrrrrgrrrr \n", + "0 c30 1704418050 1_g 34 grrrGgrrrrgrrrGgrrrr \n", + "1 c30 1704418050 1_y 4 grrrygrrrrgrrrygrrrr \n", + ".. ... ... ... ... ... \n", + "2 u60 1704418760 3__r 1 grrrgrrrrgrrgrrr \n", + "0 u60 1704418760 3_g 65 gGGGgrrrrgrrgrrr \n", + "1 u60 1704418760 3_y 4 gyyygrrrrgrrgrrr \n", + "2 u60 1704418760 4__r 1 grrrgrrrrgrrgrrr \n", + "315 u60 1704418760 4_g 19 grrrgrrrrgGGgrrr \n", + "\n", + " start_dt \n", + "0 2024-01-05 10:27:30 \n", + "1 2024-01-05 10:27:30 \n", + "2 2024-01-05 10:27:30 \n", + "0 2024-01-05 10:27:30 \n", + "1 2024-01-05 10:27:30 \n", + ".. ... \n", + "2 2024-01-05 10:39:20 \n", + "0 2024-01-05 10:39:20 \n", + "1 2024-01-05 10:39:20 \n", + "2 2024-01-05 10:39:20 \n", + "315 2024-01-05 10:39:20 \n", + "\n", + "[684 rows x 6 columns]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 5-4. 적색 및 황색신호 부여\n", + "sg.SIGTABLE" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "# 5-5. 신호파일 생성\n", + "# 신호파일(sn_[timestamp].add.xml)를 생성합니다." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rts", + "language": "python", + "name": "rts" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Analysis/0213_unit_test/0213_unit_test.ipynb b/Analysis/0213_unit_test/0213_unit_test.ipynb new file mode 100644 index 000000000..5cd198f2e --- /dev/null +++ b/Analysis/0213_unit_test/0213_unit_test.ipynb @@ -0,0 +1,7700 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1704416400\n", + "2024-01-05 10:00:00\n", + "1. 데이터를 준비합니다.\n", + "1-1. 네트워크가 로드되었습니다.\n", + "1-2. 테이블들이 로드되었습니다.\n" + ] + } + ], + "source": [ + "import os\n", + "import pandas as pd\n", + "\n", + "import sys\n", + "from datetime import datetime\n", + "sys.path.append('../../Scripts')\n", + "\n", + "from preprocess_daily import DailyPreprocessor\n", + "dp = DailyPreprocessor()\n", + "\n", + "from generate_signals import SignalGenerator\n", + "sg = SignalGenerator()\n", + "# sg.present_time = int(datetime(2024, 1, 5, 12, 5).timestamp())\n", + "print(sg.present_time)\n", + "print(datetime.fromtimestamp(sg.present_time))\n", + "\n", + "# 1. 데이터 준비\n", + "sg.prepare_data()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 단위테스트" + ] + }, + { + "attachments": { + "image.png": { + "image/png": "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yQun/tDxOy7n9mQErTaC2sREYonEkja11y6VtZweWKmIgAiIgAiIQDsJSCxpZ72p1D0nYKLJF7Yec9/aseAkmoxuEF0yXvp4LxJLJJb0sd2HcM+je1ZdFQEREAEREIFuE5BY0u361d31gMDjs4vORJPZly/04I6z32IIRofKkN+75fwNlzgEky5977z62k7dT1Q3N1zi1M7zt/MQ2WXvbRVDBERABERABLpDQGJJd+pSd9JzAiaafPn24+7Iwns9p7Hy9kM0QlSmbhmVWevzsxuOSFg42+82kLXNNBF+ZU+qIxEQAREQARHoFwGJJf2qb91tDwgglCCY8H36+Xd7cMfjb7EJI0N5yhAe1QYklqh9jGofoVwb37sqhAiIgAiIgAh0l4DEku7Wre6s5wRMNGGIDl4nff6EYnioHDKQrQ1ILFFbsLYQ8rbP7w3duwiIgAiIgAhILFEbEIGOE2DyVyaB7bNoErIxorL102iWWNLPem/b897x16NuTwREQAREQARGEpBYMhKPLopAdwiYaMKywyw/zIo6ffm0zUBRebtvSEss6X4dd+E57ss7QvcpAiIgAiIgAkkEJJYkUdE5EegwgRNnP3DX/fRl1yfRpAtGi+6hW8a1xJJu1WdXn88Ovwp1ayIgAiIgAiIwloDEkrGIFEAEukng1FsfLosmux973f3p40+7eaPOadURrToSXBuQWCKxpA0CS2dfCroxERABERABEUhBQGJJCkgKIgJdJvDG4sfutr2vujUbB66rokkbjBKVsV/Gs8SSftV3W5/vLr/7dG8iIAIiIAIiMI6AxJJxhHRdBHpC4Hfn/7wsmuw4cMad/+CTztx5Ww0Vlbu7BrXEku7WbZee2868BHQjIiACIiACIpCDgMSSHNAURQS6TADR5I79pyJPk66IJl0yXnQv3TCyJZZ0ox67/jx2+V2nexMBERABERCBcQQklowjpOsi0FMCeJYgljA8B/EEEaWtn64bNLq/9hnevliy++Hn3M8ffc6xTarLux56duT5V4/PRNeHhZvYNznyelKe8XOWR9rz8XBpj4fdQ5r4WeMalzRp9zVMW/t8lVsEREAEREAEyiAgsaQMikpDBDpMANHk7kfPRqIJc5u0UTTpq6Gj+w5XRDGx5MLJObdt75KY8b17nkkURd5YmI3OI1gMpgaOONQt5985Mee+8s9POa5Z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" + } + }, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![image.png](attachment:image.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. `make_rhistory`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1.1. 입력데이터\n", + "- 입력데이터\n", + " - 프로젝트 진행시 입력데이터 : 신호이력에 대한 쿼리\n", + " - 현재 입력데이터 : `history.csv`(하루치의 신호이력)\n", + "- 컬럼 : 교차로번호, 종료유닉스, (링, 현시)별 현시시간 (`dura_A1`, ..., `dura_B8`), 주기, 옵셋" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0inter_noend_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7...dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cycleoffset
00206170438052033352626000...33352626000012010
1120217043805393910100000...39101000000140103
22178170438054038394023000...38394023000014050
332011704380540242417581700...2424175817000140133
44177170438055036206826000...36206826000015035
\n", + "

5 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 inter_no end_unix dura_A1 dura_A2 dura_A3 dura_A4 \\\n", + "0 0 206 1704380520 33 35 26 26 \n", + "1 1 202 1704380539 39 101 0 0 \n", + "2 2 178 1704380540 38 39 40 23 \n", + "3 3 201 1704380540 24 24 17 58 \n", + "4 4 177 1704380550 36 20 68 26 \n", + "\n", + " dura_A5 dura_A6 dura_A7 ... dura_B1 dura_B2 dura_B3 dura_B4 \\\n", + "0 0 0 0 ... 33 35 26 26 \n", + "1 0 0 0 ... 39 101 0 0 \n", + "2 0 0 0 ... 38 39 40 23 \n", + "3 17 0 0 ... 24 24 17 58 \n", + "4 0 0 0 ... 36 20 68 26 \n", + "\n", + " dura_B5 dura_B6 dura_B7 dura_B8 cycle offset \n", + "0 0 0 0 0 120 10 \n", + "1 0 0 0 0 140 103 \n", + "2 0 0 0 0 140 50 \n", + "3 17 0 0 0 140 133 \n", + "4 0 0 0 0 150 35 \n", + "\n", + "[5 rows x 21 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sg.history.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1.2 출력 데이터\n", + "- 출력데이터 : `rhistory`\n", + "- 컬럼 : 교차로번호, 시작유닉스, (링, 현시)별 현시시간 (`dura_A1`, ..., `dura_B8`), 주기\n", + "- 설명 : 신호이력 로드, 슬라이싱(30분, 10분), 종료유닉스를 시작유닉스로 변경 등" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cycle
18112101704414440434370240000285870240000180
181220217044144904611400000046114000000160
18131781704414480383943500000383971220000170
18142061704414510455326260000455326260000150
1815201170441452033362558180003336255818000170
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "1811 210 1704414440 43 43 70 24 0 \n", + "1812 202 1704414490 46 114 0 0 0 \n", + "1813 178 1704414480 38 39 43 50 0 \n", + "1814 206 1704414510 45 53 26 26 0 \n", + "1815 201 1704414520 33 36 25 58 18 \n", + "\n", + " dura_A6 dura_A7 dura_A8 dura_B1 dura_B2 dura_B3 dura_B4 dura_B5 \\\n", + "1811 0 0 0 28 58 70 24 0 \n", + "1812 0 0 0 46 114 0 0 0 \n", + "1813 0 0 0 38 39 71 22 0 \n", + "1814 0 0 0 45 53 26 26 0 \n", + "1815 0 0 0 33 36 25 58 18 \n", + "\n", + " dura_B6 dura_B7 dura_B8 cycle \n", + "1811 0 0 0 180 \n", + "1812 0 0 0 160 \n", + "1813 0 0 0 170 \n", + "1814 0 0 0 150 \n", + "1815 0 0 0 170 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sg.make_rhistory()\n", + "sg.rhistory.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1.3 검증요건\n", + "1. 현재시점으로부터 `substractor`(30분) 동안의 신호이력 로드되었는가?\n", + "2. 현재시점 + `adder`(10분)에 한 주기가 신호 추가되었는가?\n", + "3. 종료유닉스가 시작유닉스로 잘 변환되었는가?\n", + " - 이전 종료유닉스가 존재하지 않으면 현재 종료유닉스로부터 현시시간 합의 차로 한다.\n", + " - 이전 종료유닉스가 존재하면 abs < 10인 경우 이전 종료유닉스로 하고, abs > 10인 경우 현시시간 합의 차로 한다.\n", + "4. 존재하지 않는 교차로에 대하여 한 주기 신호 추가되었는가?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1.4 검증" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1704414440\n", + "1704416400 1960\n", + "1704416820 420\n" + ] + } + ], + "source": [ + "# 1 : 약 30분(1800초) 동안의 신호이력이 로드되었음\n", + "# 2 : 현재시점으로부터 약 10분(600초)이 경과한 시점까지의 신호이력이 로드되었음\n", + "print(sg.rhistory.start_unix.min())\n", + "print(sg.present_time, sg.present_time - sg.rhistory.start_unix.min())\n", + "print(sg.rhistory.start_unix.max(), sg.rhistory.start_unix.max() - sg.present_time)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0inter_noend_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7...dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cycleoffset
18181818176170441474037103400000...371034000000180169
18261826176170441492137103400000...371034000000180169
18341834176170441510037103400000...371034000000180169
18431843176170441528137103400000...371034000000180169
18521852176170441546037103400000...371034000000180169
18601860176170441563937103400000...371034000000180169
18681868176170441582037103400000...371034000000180169
18761876176170441599937103400000...371034000000180169
18861886176170441618037103400000...371034000000180169
18941894176170441636137103400000...371034000000180169
\n", + "

10 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 inter_no end_unix dura_A1 dura_A2 dura_A3 dura_A4 \\\n", + "1818 1818 176 1704414740 37 103 40 0 \n", + "1826 1826 176 1704414921 37 103 40 0 \n", + "1834 1834 176 1704415100 37 103 40 0 \n", + "1843 1843 176 1704415281 37 103 40 0 \n", + "1852 1852 176 1704415460 37 103 40 0 \n", + "1860 1860 176 1704415639 37 103 40 0 \n", + "1868 1868 176 1704415820 37 103 40 0 \n", + "1876 1876 176 1704415999 37 103 40 0 \n", + "1886 1886 176 1704416180 37 103 40 0 \n", + "1894 1894 176 1704416361 37 103 40 0 \n", + "\n", + " dura_A5 dura_A6 dura_A7 ... dura_B1 dura_B2 dura_B3 dura_B4 \\\n", + "1818 0 0 0 ... 37 103 40 0 \n", + "1826 0 0 0 ... 37 103 40 0 \n", + "1834 0 0 0 ... 37 103 40 0 \n", + "1843 0 0 0 ... 37 103 40 0 \n", + "1852 0 0 0 ... 37 103 40 0 \n", + "1860 0 0 0 ... 37 103 40 0 \n", + "1868 0 0 0 ... 37 103 40 0 \n", + "1876 0 0 0 ... 37 103 40 0 \n", + "1886 0 0 0 ... 37 103 40 0 \n", + "1894 0 0 0 ... 37 103 40 0 \n", + "\n", + " dura_B5 dura_B6 dura_B7 dura_B8 cycle offset \n", + "1818 0 0 0 0 180 169 \n", + "1826 0 0 0 0 180 169 \n", + "1834 0 0 0 0 180 169 \n", + "1843 0 0 0 0 180 169 \n", + "1852 0 0 0 0 180 169 \n", + "1860 0 0 0 0 180 169 \n", + "1868 0 0 0 0 180 169 \n", + "1876 0 0 0 0 180 169 \n", + "1886 0 0 0 0 180 169 \n", + "1894 0 0 0 0 180 169 \n", + "\n", + "[10 rows x 21 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cycle
18181761704414560371034000000371034000000180
18261761704414740371034000000371034000000180
18341761704414921371034000000371034000000180
18431761704415100371034000000371034000000180
18521761704415281371034000000371034000000180
18601761704415460371034000000371034000000180
18681761704415639371034000000371034000000180
18761761704415820371034000000371034000000180
18861761704415999371034000000371034000000180
18941761704416180371034000000371034000000180
01761704416820371034000000371034000000180
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "1818 176 1704414560 37 103 40 0 0 \n", + "1826 176 1704414740 37 103 40 0 0 \n", + "1834 176 1704414921 37 103 40 0 0 \n", + "1843 176 1704415100 37 103 40 0 0 \n", + "1852 176 1704415281 37 103 40 0 0 \n", + "1860 176 1704415460 37 103 40 0 0 \n", + "1868 176 1704415639 37 103 40 0 0 \n", + "1876 176 1704415820 37 103 40 0 0 \n", + "1886 176 1704415999 37 103 40 0 0 \n", + "1894 176 1704416180 37 103 40 0 0 \n", + "0 176 1704416820 37 103 40 0 0 \n", + "\n", + " dura_A6 dura_A7 dura_A8 dura_B1 dura_B2 dura_B3 dura_B4 dura_B5 \\\n", + "1818 0 0 0 37 103 40 0 0 \n", + "1826 0 0 0 37 103 40 0 0 \n", + "1834 0 0 0 37 103 40 0 0 \n", + "1843 0 0 0 37 103 40 0 0 \n", + "1852 0 0 0 37 103 40 0 0 \n", + "1860 0 0 0 37 103 40 0 0 \n", + "1868 0 0 0 37 103 40 0 0 \n", + "1876 0 0 0 37 103 40 0 0 \n", + "1886 0 0 0 37 103 40 0 0 \n", + "1894 0 0 0 37 103 40 0 0 \n", + "0 0 0 0 37 103 40 0 0 \n", + "\n", + " dura_B6 dura_B7 dura_B8 cycle \n", + "1818 0 0 0 180 \n", + "1826 0 0 0 180 \n", + "1834 0 0 0 180 \n", + "1843 0 0 0 180 \n", + "1852 0 0 0 180 \n", + "1860 0 0 0 180 \n", + "1868 0 0 0 180 \n", + "1876 0 0 0 180 \n", + "1886 0 0 0 180 \n", + "1894 0 0 0 180 \n", + "0 0 0 0 180 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 3\n", + "inter_no = 176\n", + "h = sg.history[(sg.history.inter_no==inter_no) & (sg.history.end_unix <= sg.present_time) & (sg.history.end_unix > sg.present_time - sg.subtractor)]\n", + "rh = sg.rhistory[sg.rhistory.inter_no==inter_no]\n", + "display(h)\n", + "display(rh)\n", + "# 이전 종료유닉스가 존재하지 않을 경우 : index 1802\n", + "# print(h.loc[2183, [f'dura_{alph}{j}' for alph in ['A', 'B'] for j in range(1,9)]].sum() // 2)\n", + "# 이전 종료유닉스가 존재할 경우 : index 1810 ~ " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{201, 202, 206, 175, 176, 177, 178, 210}\n", + "{201, 202, 206, 175, 176, 177, 178, 210}\n" + ] + } + ], + "source": [ + "# 4 : 현재시점에서는 검증할 수 없음. 하지만 이전에 검증하였음.\n", + "print(set(sg.history.inter_no))\n", + "print(set(sg.rhistory.inter_no))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. `make_rhists`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1. 입력데이터\n", + "- 입력데이터 : `rhistory`\n", + "- 컬럼 : 교차로번호, 시작유닉스, (링, 현시)별 현시시간 (`dura_A1`, ..., `dura_B8`), 주기" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cycle
18112101704414440434370240000285870240000180
181220217044144904611400000046114000000160
18131781704414480383943500000383971220000170
18142061704414510455326260000455326260000150
1815201170441452033362558180003336255818000170
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "1811 210 1704414440 43 43 70 24 0 \n", + "1812 202 1704414490 46 114 0 0 0 \n", + "1813 178 1704414480 38 39 43 50 0 \n", + "1814 206 1704414510 45 53 26 26 0 \n", + "1815 201 1704414520 33 36 25 58 18 \n", + "\n", + " dura_A6 dura_A7 dura_A8 dura_B1 dura_B2 dura_B3 dura_B4 dura_B5 \\\n", + "1811 0 0 0 28 58 70 24 0 \n", + "1812 0 0 0 46 114 0 0 0 \n", + "1813 0 0 0 38 39 71 22 0 \n", + "1814 0 0 0 45 53 26 26 0 \n", + "1815 0 0 0 33 36 25 58 18 \n", + "\n", + " dura_B6 dura_B7 dura_B8 cycle \n", + "1811 0 0 0 180 \n", + "1812 0 0 0 160 \n", + "1813 0 0 0 170 \n", + "1814 0 0 0 150 \n", + "1815 0 0 0 170 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sg.rhistory.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2. 출력데이터\n", + "- 출력 : `rhists`\n", + "- 컬럼 : 교차로번호, 시작유닉스, (링, 현시)별 현시시간 (`dura_A1`, ..., `dura_B8`), 주기, 유닉스차이(`D_n`), 현시시간합(`S_n`)\n", + "- 설명 : `rhistory`에 대하여 참값프로세스 진행 후 현재시점 - `substractor//2`(15분)로 슬라이싱" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8...dura_B4dura_B5dura_B6dura_B7dura_B8cycleD_nS_nUnnamed: 0offset
62101704415520434370240000...240000180900.0900.0NaNNaN
72101704415700434370240000...240000180900.0900.0NaNNaN
82101704415880434370240000...240000180900.0900.0NaNNaN
92101704416060434370240000...240000180900.0900.0NaNNaN
102101704416420434370240000...240000180NaNNaN30.0137.0
\n", + "

5 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "6 210 1704415520 43 43 70 24 0 \n", + "7 210 1704415700 43 43 70 24 0 \n", + "8 210 1704415880 43 43 70 24 0 \n", + "9 210 1704416060 43 43 70 24 0 \n", + "10 210 1704416420 43 43 70 24 0 \n", + "\n", + " dura_A6 dura_A7 dura_A8 ... dura_B4 dura_B5 dura_B6 dura_B7 \\\n", + "6 0 0 0 ... 24 0 0 0 \n", + "7 0 0 0 ... 24 0 0 0 \n", + "8 0 0 0 ... 24 0 0 0 \n", + "9 0 0 0 ... 24 0 0 0 \n", + "10 0 0 0 ... 24 0 0 0 \n", + "\n", + " dura_B8 cycle D_n S_n Unnamed: 0 offset \n", + "6 0 180 900.0 900.0 NaN NaN \n", + "7 0 180 900.0 900.0 NaN NaN \n", + "8 0 180 900.0 900.0 NaN NaN \n", + "9 0 180 900.0 900.0 NaN NaN \n", + "10 0 180 NaN NaN 30.0 137.0 \n", + "\n", + "[5 rows x 23 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sg.make_rhists()\n", + "sg.rhists.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3 검증요건\n", + "1. 결측치 처리\n", + "2. 이상치 처리 (삭제, 대체)\n", + "3. D_n, S_n의 계산 적정성 여부" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4 검증" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cyclediff
18131781704414480383943500000383971220000170NaN
18221781704414651383943500000383971220000170171.0
18301781704414820383943500000383971220000170169.0
18381781704414990383943500000383971220000170170.0
18451781704415160383943500000383971220000170170.0
18531781704415330383943500000383971220000170170.0
18611781704415500383943500000383971220000170170.0
18691781704415669383943500000383971220000170169.0
18771781704415840383943500000383971220000170171.0
18851781704416010383943500000383971220000170170.0
18921781704416180383943500000383971220000170170.0
01781704416820383943500000383971220000170640.0
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "1813 178 1704414480 38 39 43 50 0 \n", + "1822 178 1704414651 38 39 43 50 0 \n", + "1830 178 1704414820 38 39 43 50 0 \n", + "1838 178 1704414990 38 39 43 50 0 \n", + "1845 178 1704415160 38 39 43 50 0 \n", + "1853 178 1704415330 38 39 43 50 0 \n", + "1861 178 1704415500 38 39 43 50 0 \n", + "1869 178 1704415669 38 39 43 50 0 \n", + "1877 178 1704415840 38 39 43 50 0 \n", + "1885 178 1704416010 38 39 43 50 0 \n", + "1892 178 1704416180 38 39 43 50 0 \n", + "0 178 1704416820 38 39 43 50 0 \n", + "\n", + " dura_A6 dura_A7 dura_A8 dura_B1 dura_B2 dura_B3 dura_B4 dura_B5 \\\n", + "1813 0 0 0 38 39 71 22 0 \n", + "1822 0 0 0 38 39 71 22 0 \n", + "1830 0 0 0 38 39 71 22 0 \n", + "1838 0 0 0 38 39 71 22 0 \n", + "1845 0 0 0 38 39 71 22 0 \n", + "1853 0 0 0 38 39 71 22 0 \n", + "1861 0 0 0 38 39 71 22 0 \n", + "1869 0 0 0 38 39 71 22 0 \n", + "1877 0 0 0 38 39 71 22 0 \n", + "1885 0 0 0 38 39 71 22 0 \n", + "1892 0 0 0 38 39 71 22 0 \n", + "0 0 0 0 38 39 71 22 0 \n", + "\n", + " dura_B6 dura_B7 dura_B8 cycle diff \n", + "1813 0 0 0 170 NaN \n", + "1822 0 0 0 170 171.0 \n", + "1830 0 0 0 170 169.0 \n", + "1838 0 0 0 170 170.0 \n", + "1845 0 0 0 170 170.0 \n", + "1853 0 0 0 170 170.0 \n", + "1861 0 0 0 170 170.0 \n", + "1869 0 0 0 170 169.0 \n", + "1877 0 0 0 170 171.0 \n", + "1885 0 0 0 170 170.0 \n", + "1892 0 0 0 170 170.0 \n", + "0 0 0 0 170 640.0 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8...dura_B5dura_B6dura_B7dura_B8cycleD_nS_nUnnamed: 0offsetdiff
61781704415500383943500000...0000170900.01020.0NaNNaNNaN
71781704415669373842490000...0000166900.01020.0NaNNaN169.0
81781704415840383943500000...0000170900.01020.0NaNNaN171.0
91781704416010383943500000...0000170900.01020.0NaNNaN170.0
101781704416180383943500000...0000170900.01020.0NaNNaN170.0
111781704416350292932380000...0000128NaNNaN14.080.0170.0
121781704416690383943500000...0000170NaNNaN14.080.0340.0
131781704416820292932380000...0000128900.0510.0NaNNaN130.0
\n", + "

8 rows × 24 columns

\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "6 178 1704415500 38 39 43 50 0 \n", + "7 178 1704415669 37 38 42 49 0 \n", + "8 178 1704415840 38 39 43 50 0 \n", + "9 178 1704416010 38 39 43 50 0 \n", + "10 178 1704416180 38 39 43 50 0 \n", + "11 178 1704416350 29 29 32 38 0 \n", + "12 178 1704416690 38 39 43 50 0 \n", + "13 178 1704416820 29 29 32 38 0 \n", + "\n", + " dura_A6 dura_A7 dura_A8 ... dura_B5 dura_B6 dura_B7 dura_B8 cycle \\\n", + "6 0 0 0 ... 0 0 0 0 170 \n", + "7 0 0 0 ... 0 0 0 0 166 \n", + "8 0 0 0 ... 0 0 0 0 170 \n", + "9 0 0 0 ... 0 0 0 0 170 \n", + "10 0 0 0 ... 0 0 0 0 170 \n", + "11 0 0 0 ... 0 0 0 0 128 \n", + "12 0 0 0 ... 0 0 0 0 170 \n", + "13 0 0 0 ... 0 0 0 0 128 \n", + "\n", + " D_n S_n Unnamed: 0 offset diff \n", + "6 900.0 1020.0 NaN NaN NaN \n", + "7 900.0 1020.0 NaN NaN 169.0 \n", + "8 900.0 1020.0 NaN NaN 171.0 \n", + "9 900.0 1020.0 NaN NaN 170.0 \n", + "10 900.0 1020.0 NaN NaN 170.0 \n", + "11 NaN NaN 14.0 80.0 170.0 \n", + "12 NaN NaN 14.0 80.0 340.0 \n", + "13 900.0 510.0 NaN NaN 130.0 \n", + "\n", + "[8 rows x 24 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 1. 마지막 시점에 결측 발생 -> 결측처리 이상없음\n", + "# 2. 결측 처리 후에 발생하는 이상치 -> 이상치처리 이상없음\n", + "### 3. D_n, S_n 계산에 이상있음. D_n과 S_n이 대부분의 경우에 다르므로, 대부분의 경우를 거짓값으로 판단한 채로 진행하고 있음.\n", + "# 다만, 이렇게 하여도 결과에는 영향은 없음. 단지 계산량이 많아져서 구동시간에 부하가 걸렸을 수 있음.\n", + "inter_no = 178\n", + "rhistory = sg.rhistory[sg.rhistory.inter_no==inter_no].copy()\n", + "rhistory['diff'] = rhistory['start_unix'].diff()\n", + "rhists = sg.rhists[sg.rhists.inter_no==inter_no].copy()\n", + "rhists['diff'] = rhists['start_unix'].diff()\n", + "display(rhistory)\n", + "display(rhists)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3. `make_hrhists`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1. 입력데이터\n", + "- 입력데이터 : `rhists`\n", + "- 컬럼 : 교차로번호, 시작유닉스, (링, 현시)별 현시시간 (`dura_A1`, ..., `dura_B8`), 주기, 유닉스차이(`D_n`), 현시시간합(`S_n`), 옵셋" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8...dura_B4dura_B5dura_B6dura_B7dura_B8cycleD_nS_nUnnamed: 0offset
62101704415520434370240000...240000180900.0900.0NaNNaN
72101704415700434370240000...240000180900.0900.0NaNNaN
82101704415880434370240000...240000180900.0900.0NaNNaN
92101704416060434370240000...240000180900.0900.0NaNNaN
102101704416420434370240000...240000180NaNNaN30.0137.0
\n", + "

5 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "6 210 1704415520 43 43 70 24 0 \n", + "7 210 1704415700 43 43 70 24 0 \n", + "8 210 1704415880 43 43 70 24 0 \n", + "9 210 1704416060 43 43 70 24 0 \n", + "10 210 1704416420 43 43 70 24 0 \n", + "\n", + " dura_A6 dura_A7 dura_A8 ... dura_B4 dura_B5 dura_B6 dura_B7 \\\n", + "6 0 0 0 ... 24 0 0 0 \n", + "7 0 0 0 ... 24 0 0 0 \n", + "8 0 0 0 ... 24 0 0 0 \n", + "9 0 0 0 ... 24 0 0 0 \n", + "10 0 0 0 ... 24 0 0 0 \n", + "\n", + " dura_B8 cycle D_n S_n Unnamed: 0 offset \n", + "6 0 180 900.0 900.0 NaN NaN \n", + "7 0 180 900.0 900.0 NaN NaN \n", + "8 0 180 900.0 900.0 NaN NaN \n", + "9 0 180 900.0 900.0 NaN NaN \n", + "10 0 180 NaN NaN 30.0 137.0 \n", + "\n", + "[5 rows x 23 columns]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sg.rhists.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2. 출력데이터\n", + "- 입력데이터 : `hrhists`\n", + "- 컬럼 : 교차로번호, 시작유닉스, A현시번호, B현시번호, 현시시간\n", + "- 설명 : `rhists`를 계층화" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixphas_Aphas_Bduration
021017044155201128
121017044155201215
221017044155202243
321017044155203370
421017044155204424
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix phas_A phas_B duration\n", + "0 210 1704415520 1 1 28\n", + "1 210 1704415520 1 2 15\n", + "2 210 1704415520 2 2 43\n", + "3 210 1704415520 3 3 70\n", + "4 210 1704415520 4 4 24" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sg.make_hrhists()\n", + "sg.hrhists.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.3 검증요건\n", + "- 계층화가 잘 이루어졌는가?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.4 검증" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cycleD_nS_nUnnamed: 0offset
61751704415589424454360000424432580000176900.01080.0NaNNaN
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 dura_A6 \\\n", + "6 175 1704415589 42 44 54 36 0 0 \n", + "\n", + " dura_A7 dura_A8 dura_B1 dura_B2 dura_B3 dura_B4 dura_B5 dura_B6 \\\n", + "6 0 0 42 44 32 58 0 0 \n", + "\n", + " dura_B7 dura_B8 cycle D_n S_n Unnamed: 0 offset \n", + "6 0 0 176 900.0 1080.0 NaN NaN " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixphas_Aphas_Bduration
017517044155891142
117517044155892244
217517044155893332
317517044155893422
417517044155894436
\n", + "
" + ], + "text/plain": [ + " inter_no start_unix phas_A phas_B duration\n", + "0 175 1704415589 1 1 42\n", + "1 175 1704415589 2 2 44\n", + "2 175 1704415589 3 3 32\n", + "3 175 1704415589 3 4 22\n", + "4 175 1704415589 4 4 36" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "### 계층화상의 오류 발견. 오버랩현시가 일어나는 경우 현시시간이 제대로 계산되지 않았음.\n", + "# durs_A = [getattr(row, f'dura_A{j}') for j in range(1, 9)]\n", + "# durs_B = [getattr(row, f'dura_A{j}') for j in range(1, 9)]\n", + "# 에서 durs_B의 코드 잘못됨. 수정완료.\n", + "inter_no = 175\n", + "start_unix = sg.rhists[sg.rhists.inter_no==inter_no].start_unix.min()\n", + "with pd.option_context('display.max_rows', None, 'display.max_columns', None):\n", + " display(sg.rhists[(sg.rhists.inter_no==inter_no)&(sg.rhists.start_unix==start_unix)])\n", + "display(sg.hrhists[(sg.hrhists.inter_no==inter_no)&(sg.hrhists.start_unix==start_unix)])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 4. `save_movement`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.1. 입력데이터\n", + "- 입력데이터\n", + " - 프로젝트 진행시 입력데이터 : 이동류정보에 대한 쿼리\n", + " - 현재 입력데이터 : `movement_[timestamp].csv`, 현재시점으로부터 5분 이내의 이동류정보. 5초단위로 수집.\n", + "- 컬럼 : 교차로번호, A현시번호, B현시번호, A이동류번호, B이동류번호" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0inter_nophas_Aphas_Bmove_Amove_B
001751184
101761184
201771184
301781184
402011183
502021162
60206221718
7021011618
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 inter_no phas_A phas_B move_A move_B\n", + "0 0 175 1 1 8 4\n", + "1 0 176 1 1 8 4\n", + "2 0 177 1 1 8 4\n", + "3 0 178 1 1 8 4\n", + "4 0 201 1 1 8 3\n", + "5 0 202 1 1 6 2\n", + "6 0 206 2 2 17 18\n", + "7 0 210 1 1 6 18" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0inter_nophas_Aphas_Bmove_Amove_B
001751184
101761184
201771184
301781184
402011183
502021162
602061184
7021011618
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 inter_no phas_A phas_B move_A move_B\n", + "0 0 175 1 1 8 4\n", + "1 0 176 1 1 8 4\n", + "2 0 177 1 1 8 4\n", + "3 0 178 1 1 8 4\n", + "4 0 201 1 1 8 3\n", + "5 0 202 1 1 6 2\n", + "6 0 206 1 1 8 4\n", + "7 0 210 1 1 6 18" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "display(pd.read_csv(os.path.join(sg.path_tables, 'move', f'move_{sg.present_time - 300}.csv')))\n", + "display(pd.read_csv(os.path.join(sg.path_tables, 'move', f'move_{sg.present_time}.csv')))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.2 출력데이터\n", + "- 입력데이터 : `movement`\n", + "- 컬럼 : 교차로번호, A현시번호, B현시번호, A이동류번호, B이동류번호, 시작유닉스\n", + "- 설명 : 5분 동안의, 5초 간격의 60개 `movement_[timestamp]`를 모아서 pd.concat함. 이때, 신호이력에서 최근의 종료유닉스를 불러와서 `movement`의 시작유닉스로 삼음." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1704416100\n", + " inter_no end_unix\n", + "1874 175 1704415950\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "8\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "1704416105\n", + " inter_no end_unix\n", + "1874 175 1704415950\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "8\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "1704416110\n", + " inter_no end_unix\n", + "1874 175 1704415950\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 3 3 8 4 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "9\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "1704416115\n", + " inter_no end_unix\n", + "1874 175 1704415950\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 3 3 8 4 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "9\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "1704416120\n", + " inter_no end_unix\n", + "1874 175 1704415950\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 3 3 8 4 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "10\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "1704416125\n", + " inter_no end_unix\n", + "1874 175 1704415950\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 2 2 5 2 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 3 3 8 4 1704416010\n", + "7 210 1 2 6 2 1704416060\n", + "12\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "1704416130\n", + " inter_no end_unix\n", + "1874 175 1704415950\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 2 2 5 2 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 3 3 8 4 1704416010\n", + "7 210 1 2 6 2 1704416060\n", + "12\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "1704416135\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 2 2 5 2 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 4 4 17 18 1704416010\n", + "7 210 1 2 6 2 1704416060\n", + "14\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1704416140\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "4 201 2 2 5 2 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 4 4 17 18 1704416010\n", + "7 210 1 2 6 2 1704416060\n", + "18\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "1704416145\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "4 201 2 2 5 2 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 4 4 17 18 1704416010\n", + "7 210 2 2 5 2 1704416060\n", + "19\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "1704416150\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "4 201 3 3 6 2 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 4 4 17 18 1704416010\n", + "7 210 2 2 5 2 1704416060\n", + "20\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "1704416155\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1875 177 1704415980\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1878 206 1704416010\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "4 201 3 3 6 2 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 4 4 17 18 1704416010\n", + "7 210 2 2 5 2 1704416060\n", + "20\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "1704416160\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1884 177 1704416159\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 2 2 7 3 1704416010\n", + "4 201 3 3 6 2 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 2 2 5 2 1704416060\n", + "23\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "1704416165\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1884 177 1704416159\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 2 2 7 3 1704416010\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 2 2 5 2 1704416060\n", + "24\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "1704416170\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1884 177 1704416159\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 2 2 7 3 1704416010\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 2 2 5 2 1704416060\n", + "24\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "1704416175\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1884 177 1704416159\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 2 2 7 3 1704416010\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "25\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "1704416180\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1876 176 1704415999\n", + "1884 177 1704416159\n", + "1877 178 1704416010\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416010\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "26\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "1704416185\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "29\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "1704416190\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "29\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "1704416195\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 2 2 17 18 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "30\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1704416200\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 2 2 17 18 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "30\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1704416205\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 2 2 17 18 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "30\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1704416210\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 2 2 17 18 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "31\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "1704416215\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416130\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 2 2 17 18 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "32\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "1704416220\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1879 201 1704416050\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416130\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 4 4 6 1 1704416180\n", + "4 201 4 4 6 1 1704416050\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 2 2 17 18 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "33\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "1704416225\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416130\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "3 178 4 4 6 1 1704416180\n", + "4 201 5 5 7 4 1704416220\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 2 2 17 18 1704416159\n", + "7 210 3 3 7 4 1704416060\n", + "35\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "1704416230\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416130\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "3 178 4 4 6 1 1704416180\n", + "4 201 5 5 7 4 1704416220\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "37\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "1704416235\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416130\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "3 178 4 4 6 1 1704416180\n", + "4 201 5 5 7 4 1704416220\n", + "5 202 2 2 17 18 1704416090\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "37\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "1704416240\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1880 210 1704416060\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416130\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "40\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "1704416245\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416130\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416240\n", + "41\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1704416250\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1881 202 1704416090\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416130\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "44\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "1704416255\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416130\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "46\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "1704416260\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416130\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "46\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "1704416265\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416130\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 2 2 5 2 1704416220\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "47\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "1704416270\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416130\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 2 2 5 2 1704416220\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "47\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "1704416275\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416130\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 2 2 5 2 1704416220\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "7 210 1 2 6 2 1704416240\n", + "48\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "1704416280\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "3 178 2 2 7 3 1704416180\n", + "4 201 2 2 5 2 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 1 2 6 2 1704416240\n", + "50\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "1704416285\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "3 178 2 2 7 3 1704416180\n", + "4 201 2 2 5 2 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 1 2 6 2 1704416240\n", + "50\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "1704416290\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 2 2 7 3 1704416159\n", + "3 178 2 2 7 3 1704416180\n", + "4 201 3 3 6 2 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 1 2 6 2 1704416240\n", + "52\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "1704416295\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 2 2 7 3 1704416159\n", + "3 178 2 2 7 3 1704416180\n", + "4 201 3 3 6 2 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 2 2 5 2 1704416240\n", + "53\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "1704416300\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 2 2 7 3 1704416159\n", + "3 178 2 2 7 3 1704416180\n", + "4 201 3 3 6 2 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 2 2 5 2 1704416240\n", + "53\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "1704416305\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 2 2 7 3 1704416159\n", + "3 178 2 2 7 3 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 2 2 5 2 1704416240\n", + "54\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "1704416310\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1883 206 1704416159\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 2 2 7 3 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 1 1 8 4 1704416159\n", + "7 210 2 2 5 2 1704416240\n", + "54\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "1704416315\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 2 2 7 3 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 2 2 7 3 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 2 2 5 2 1704416240\n", + "55\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "1704416320\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 2 2 5 2 1704416240\n", + "55\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "1704416325\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "56\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "1704416330\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "56\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "1704416335\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "56\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "1704416340\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1884 177 1704416159\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 3 6 1 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416159\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "56\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "1704416345\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1891 177 1704416340\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416340\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "57\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "2 177 3 3 17 18 1704416340\n", + "1704416350\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1891 177 1704416340\n", + "1885 178 1704416180\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416340\n", + "3 178 3 3 5 2 1704416180\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 3 3 8 4 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "58\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "2 177 3 3 17 18 1704416340\n", + "6 206 3 3 8 4 1704416310\n", + "1704416355\n", + " inter_no end_unix\n", + "1882 175 1704416130\n", + "1886 176 1704416180\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "2 177 3 3 17 18 1704416340\n", + "3 178 3 3 5 2 1704416350\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 3 3 8 4 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "59\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + "5 202 1 1 6 2 1704416090\n", + "6 206 2 2 17 18 1704416010\n", + "7 210 1 1 6 18 1704416060\n", + "6 206 3 3 8 4 1704416010\n", + "0 175 2 2 7 3 1704415950\n", + "4 201 2 2 5 2 1704416050\n", + "7 210 1 2 6 2 1704416060\n", + "0 175 2 2 7 3 1704416130\n", + "6 206 4 4 17 18 1704416010\n", + "1 176 2 2 8 3 1704415999\n", + "2 177 2 2 7 3 1704415980\n", + "3 178 2 2 7 3 1704416010\n", + "5 202 2 2 17 18 1704416090\n", + "7 210 2 2 5 2 1704416060\n", + "4 201 3 3 6 2 1704416050\n", + "0 175 3 3 6 1 1704416130\n", + "2 177 3 3 17 18 1704416159\n", + "6 206 1 1 8 4 1704416159\n", + "4 201 4 4 6 1 1704416050\n", + "7 210 3 3 7 4 1704416060\n", + "3 178 3 3 5 2 1704416010\n", + "0 175 3 4 6 2 1704416130\n", + "1 176 2 2 8 3 1704416180\n", + "3 178 3 3 5 2 1704416180\n", + "6 206 2 2 17 18 1704416159\n", + "1 176 3 3 5 18 1704416180\n", + "0 175 4 4 5 2 1704416130\n", + "3 178 4 4 6 1 1704416180\n", + "2 177 4 4 5 1 1704416159\n", + "4 201 5 5 7 4 1704416220\n", + "6 206 3 3 8 4 1704416159\n", + "7 210 4 4 8 3 1704416060\n", + "0 175 1 1 8 4 1704416130\n", + "3 178 1 1 8 4 1704416180\n", + "4 201 1 1 8 3 1704416220\n", + "7 210 4 4 8 3 1704416240\n", + "1 176 1 1 8 4 1704416180\n", + "2 177 1 1 8 4 1704416159\n", + "7 210 1 1 6 18 1704416240\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416159\n", + "4 201 2 2 5 2 1704416220\n", + "7 210 1 2 6 2 1704416240\n", + "3 178 2 2 7 3 1704416180\n", + "5 202 2 2 17 18 1704416250\n", + "2 177 2 2 7 3 1704416159\n", + "4 201 3 3 6 2 1704416220\n", + "7 210 2 2 5 2 1704416240\n", + "4 201 4 4 6 1 1704416220\n", + "6 206 2 2 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "2 177 3 3 17 18 1704416340\n", + "6 206 3 3 8 4 1704416310\n", + "3 178 3 3 5 2 1704416350\n", + "1704416360\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1886 176 1704416180\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416358\n", + "1 176 3 3 5 18 1704416180\n", + "2 177 3 3 17 18 1704416340\n", + "3 178 4 4 6 1 1704416350\n", + "4 201 4 4 6 1 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 3 3 8 4 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "61\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "2 177 3 3 17 18 1704416340\n", + "6 206 3 3 8 4 1704416310\n", + "3 178 3 3 5 2 1704416350\n", + "0 175 3 4 6 2 1704416358\n", + "3 178 4 4 6 1 1704416350\n", + "\n", + "[61 rows x 6 columns]\n", + "1704416365\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1894 176 1704416361\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416358\n", + "1 176 3 3 5 18 1704416361\n", + "2 177 3 3 17 18 1704416340\n", + "3 178 4 4 6 1 1704416350\n", + "4 201 5 5 7 4 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 3 3 8 4 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "62\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "6 206 3 3 8 4 1704416310\n", + "3 178 3 3 5 2 1704416350\n", + "0 175 3 4 6 2 1704416358\n", + "3 178 4 4 6 1 1704416350\n", + "1 176 3 3 5 18 1704416361\n", + "\n", + "[62 rows x 6 columns]\n", + "1704416370\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1894 176 1704416361\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 3 4 6 2 1704416358\n", + "1 176 3 3 5 18 1704416361\n", + "2 177 3 3 17 18 1704416340\n", + "3 178 4 4 6 1 1704416350\n", + "4 201 5 5 7 4 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 3 3 8 4 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "62\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "6 206 3 3 8 4 1704416310\n", + "3 178 3 3 5 2 1704416350\n", + "0 175 3 4 6 2 1704416358\n", + "3 178 4 4 6 1 1704416350\n", + "1 176 3 3 5 18 1704416361\n", + "\n", + "[62 rows x 6 columns]\n", + "1704416375\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1894 176 1704416361\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416358\n", + "1 176 3 3 5 18 1704416361\n", + "2 177 4 4 5 1 1704416340\n", + "3 178 4 4 6 1 1704416350\n", + "4 201 5 5 7 4 1704416220\n", + "5 202 2 2 17 18 1704416250\n", + "6 206 4 4 17 18 1704416310\n", + "7 210 3 3 7 4 1704416240\n", + "65\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "3 178 4 4 6 1 1704416350\n", + "1 176 3 3 5 18 1704416361\n", + "0 175 4 4 5 2 1704416358\n", + "2 177 4 4 5 1 1704416340\n", + "6 206 4 4 17 18 1704416310\n", + "\n", + "[65 rows x 6 columns]\n", + "1704416380\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1894 176 1704416361\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416358\n", + "1 176 3 3 5 18 1704416361\n", + "2 177 4 4 5 1 1704416340\n", + "3 178 1 1 8 4 1704416350\n", + "4 201 1 1 8 3 1704416220\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416310\n", + "7 210 4 4 8 3 1704416240\n", + "66\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "1 176 3 3 5 18 1704416361\n", + "0 175 4 4 5 2 1704416358\n", + "2 177 4 4 5 1 1704416340\n", + "6 206 4 4 17 18 1704416310\n", + "3 178 1 1 8 4 1704416350\n", + "\n", + "[66 rows x 6 columns]\n", + "1704416385\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1894 176 1704416361\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416358\n", + "1 176 3 3 5 18 1704416361\n", + "2 177 4 4 5 1 1704416340\n", + "3 178 1 1 8 4 1704416350\n", + "4 201 1 1 8 3 1704416220\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416310\n", + "7 210 4 4 8 3 1704416240\n", + "66\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "1 176 3 3 5 18 1704416361\n", + "0 175 4 4 5 2 1704416358\n", + "2 177 4 4 5 1 1704416340\n", + "6 206 4 4 17 18 1704416310\n", + "3 178 1 1 8 4 1704416350\n", + "\n", + "[66 rows x 6 columns]\n", + "1704416390\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1894 176 1704416361\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1887 201 1704416220\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416358\n", + "1 176 3 3 5 18 1704416361\n", + "2 177 4 4 5 1 1704416340\n", + "3 178 1 1 8 4 1704416350\n", + "4 201 1 1 8 3 1704416220\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416310\n", + "7 210 4 4 8 3 1704416240\n", + "66\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "1 176 3 3 5 18 1704416361\n", + "0 175 4 4 5 2 1704416358\n", + "2 177 4 4 5 1 1704416340\n", + "6 206 4 4 17 18 1704416310\n", + "3 178 1 1 8 4 1704416350\n", + "\n", + "[66 rows x 6 columns]\n", + "1704416395\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1894 176 1704416361\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1895 201 1704416390\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 4 4 5 2 1704416358\n", + "1 176 3 3 5 18 1704416361\n", + "2 177 4 4 5 1 1704416340\n", + "3 178 1 1 8 4 1704416350\n", + "4 201 1 1 8 3 1704416390\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 4 4 17 18 1704416310\n", + "7 210 4 4 8 3 1704416240\n", + "67\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "0 175 4 4 5 2 1704416358\n", + "2 177 4 4 5 1 1704416340\n", + "6 206 4 4 17 18 1704416310\n", + "3 178 1 1 8 4 1704416350\n", + "4 201 1 1 8 3 1704416390\n", + "\n", + "[67 rows x 6 columns]\n", + "1704416400\n", + " inter_no end_unix\n", + "1893 175 1704416358\n", + "1894 176 1704416361\n", + "1891 177 1704416340\n", + "1892 178 1704416350\n", + "1895 201 1704416390\n", + "1889 202 1704416250\n", + "1890 206 1704416310\n", + "1888 210 1704416240\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704416358\n", + "1 176 1 1 8 4 1704416361\n", + "2 177 1 1 8 4 1704416340\n", + "3 178 1 1 8 4 1704416350\n", + "4 201 1 1 8 3 1704416390\n", + "5 202 1 1 6 2 1704416250\n", + "6 206 1 1 8 4 1704416310\n", + "7 210 1 1 6 18 1704416240\n", + "71\n", + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 175 1 1 8 4 1704415950\n", + "1 176 1 1 8 4 1704415999\n", + "2 177 1 1 8 4 1704415980\n", + "3 178 1 1 8 4 1704416010\n", + "4 201 1 1 8 3 1704416050\n", + ".. ... ... ... ... ... ...\n", + "4 201 1 1 8 3 1704416390\n", + "0 175 1 1 8 4 1704416358\n", + "1 176 1 1 8 4 1704416361\n", + "2 177 1 1 8 4 1704416340\n", + "6 206 1 1 8 4 1704416310\n", + "\n", + "[71 rows x 6 columns]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophas_Aphas_Bmove_Amove_Bstart_unix
020611841704412820
12062217181704412820
220633841704412820
32064417181704412820
417811841704412880
\n", + "
" + ], + "text/plain": [ + " inter_no phas_A phas_B move_A move_B start_unix\n", + "0 206 1 1 8 4 1704412820\n", + "1 206 2 2 17 18 1704412820\n", + "2 206 3 3 8 4 1704412820\n", + "3 206 4 4 17 18 1704412820\n", + "4 178 1 1 8 4 1704412880" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sg.make_movement()\n", + "sg.movement.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.3 검증요건\n", + "1. 특정한 시점의 `move`가 `movement`에 잘 반영되었는가?\n", + "2. 해당 시점의 `start_unix`가 `history`에서 잘 반영되었는가?\n", + "3. 현재시점 - `substractor//2`(15분)로 슬라이싱되었는가?" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0inter_nophas_Aphas_Bmove_Amove_B
001751184
101762283
201772273
301784461
402014461
50202221718
602061184
702102252
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 inter_no phas_A phas_B move_A move_B\n", + "0 0 175 1 1 8 4\n", + "1 0 176 2 2 8 3\n", + "2 0 177 2 2 7 3\n", + "3 0 178 4 4 6 1\n", + "4 0 201 4 4 6 1\n", + "5 0 202 2 2 17 18\n", + "6 0 206 1 1 8 4\n", + "7 0 210 2 2 5 2" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "None" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1704419300\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0inter_noend_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7...dura_B1dura_B2dura_B3dura_B4dura_B5dura_B6dura_B7dura_B8cycleoffset
20262026178170441924038394350000...38397122000017080
20272027175170441924043455537000...43453359000018028
20282028176170441924037103400000...371034000000180169
202920292011704419280333625581800...3336255818000170134
2030203020217044192904611400000...46114000000160103
20312031210170441930043437024000...285870240000180137
20322032206170441931045532626000...45532626000015017
20332033177170441933043277040000...43277040000018041
\n", + "

8 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 inter_no end_unix dura_A1 dura_A2 dura_A3 dura_A4 \\\n", + "2026 2026 178 1704419240 38 39 43 50 \n", + "2027 2027 175 1704419240 43 45 55 37 \n", + "2028 2028 176 1704419240 37 103 40 0 \n", + "2029 2029 201 1704419280 33 36 25 58 \n", + "2030 2030 202 1704419290 46 114 0 0 \n", + "2031 2031 210 1704419300 43 43 70 24 \n", + "2032 2032 206 1704419310 45 53 26 26 \n", + "2033 2033 177 1704419330 43 27 70 40 \n", + "\n", + " dura_A5 dura_A6 dura_A7 ... dura_B1 dura_B2 dura_B3 dura_B4 \\\n", + "2026 0 0 0 ... 38 39 71 22 \n", + "2027 0 0 0 ... 43 45 33 59 \n", + "2028 0 0 0 ... 37 103 40 0 \n", + "2029 18 0 0 ... 33 36 25 58 \n", + "2030 0 0 0 ... 46 114 0 0 \n", + "2031 0 0 0 ... 28 58 70 24 \n", + "2032 0 0 0 ... 45 53 26 26 \n", + "2033 0 0 0 ... 43 27 70 40 \n", + "\n", + " dura_B5 dura_B6 dura_B7 dura_B8 cycle offset \n", + "2026 0 0 0 0 170 80 \n", + "2027 0 0 0 0 180 28 \n", + "2028 0 0 0 0 180 169 \n", + "2029 18 0 0 0 170 134 \n", + "2030 0 0 0 0 160 103 \n", + "2031 0 0 0 0 180 137 \n", + "2032 0 0 0 0 150 17 \n", + "2033 0 0 0 0 180 41 \n", + "\n", + "[8 rows x 21 columns]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nophas_Aphas_Bmove_Amove_Bstart_unix
63917511841704419220
64017522731704419220
64117533611704419220
64217534621704419220
64317544521704419220
64420111831704419230
64520122521704419230
64620133621704419230
64720144611704419230
64820155741704419230
64917611841704419260
65017622831704419260
651176335181704419260
65220611841704419270
6532062217181704419270
65420633841704419270
6552064417181704419270
65617811841704419340
65717822731704419340
65817833521704419340
65920211621704419341
6602022217181704419341
661210116181704419360
66221033741704419360
66321044831704419360
66417711841704419370
66517744511704419370
\n", + "
" + ], + "text/plain": [ + " inter_no phas_A phas_B move_A move_B start_unix\n", + "639 175 1 1 8 4 1704419220\n", + "640 175 2 2 7 3 1704419220\n", + "641 175 3 3 6 1 1704419220\n", + "642 175 3 4 6 2 1704419220\n", + "643 175 4 4 5 2 1704419220\n", + "644 201 1 1 8 3 1704419230\n", + "645 201 2 2 5 2 1704419230\n", + "646 201 3 3 6 2 1704419230\n", + "647 201 4 4 6 1 1704419230\n", + "648 201 5 5 7 4 1704419230\n", + "649 176 1 1 8 4 1704419260\n", + "650 176 2 2 8 3 1704419260\n", + "651 176 3 3 5 18 1704419260\n", + "652 206 1 1 8 4 1704419270\n", + "653 206 2 2 17 18 1704419270\n", + "654 206 3 3 8 4 1704419270\n", + "655 206 4 4 17 18 1704419270\n", + "656 178 1 1 8 4 1704419340\n", + "657 178 2 2 7 3 1704419340\n", + "658 178 3 3 5 2 1704419340\n", + "659 202 1 1 6 2 1704419341\n", + "660 202 2 2 17 18 1704419341\n", + "661 210 1 1 6 18 1704419360\n", + "662 210 3 3 7 4 1704419360\n", + "663 210 4 4 8 3 1704419360\n", + "664 177 1 1 8 4 1704419370\n", + "665 177 4 4 5 1 1704419370" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 1 특정한 시점 = sg.present_time - 100\n", + "# 2\n", + "specific_time = sg.present_time - 100\n", + "move = display(pd.read_csv(os.path.join(sg.path_tables, 'move', f'move_{specific_time}.csv')))\n", + "display(move)\n", + "print(specific_time)\n", + "display(sg.history[(sg.history.end_unix>=specific_time-100)&(sg.history.end_unix<=specific_time+100)])\n", + "display(sg.movement[(sg.movement.start_unix>=specific_time-100)&(sg.movement.start_unix<=specific_time+100)])" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
inter_nostart_unixdura_A1dura_A2dura_A3dura_A4dura_A5dura_A6dura_A7dura_A8...dura_B4dura_B5dura_B6dura_B7dura_B8cycleD_nS_nUnnamed: 0offset
81761704414380371034000000...000001802400.01620.0NaNNaN
91761704414560371034000000...000001802400.01800.0NaNNaN
101761704414740371034000000...000001802400.01980.0NaNNaN
111761704414921371034000000...000001802400.02160.0NaNNaN
121761704415100361023900000...000001772400.02340.0NaNNaN
..................................................................
1020117044152003336255818000...58180001702400.01860.0NaNNaN
1120117044153703336255818000...5818000170NaNNaN18.0134.0
1220117044155403336255818000...5818000170NaNNaN18.0134.0
1320117044157103336255818000...5818000170NaNNaN18.0134.0
1420117044158803336255818000...5818000170NaNNaN18.0134.0
\n", + "

81 rows × 23 columns

\n", + "
" + ], + "text/plain": [ + " inter_no start_unix dura_A1 dura_A2 dura_A3 dura_A4 dura_A5 \\\n", + "8 176 1704414380 37 103 40 0 0 \n", + "9 176 1704414560 37 103 40 0 0 \n", + "10 176 1704414740 37 103 40 0 0 \n", + "11 176 1704414921 37 103 40 0 0 \n", + "12 176 1704415100 36 102 39 0 0 \n", + ".. ... ... ... ... ... ... ... \n", + "10 201 1704415200 33 36 25 58 18 \n", + "11 201 1704415370 33 36 25 58 18 \n", + "12 201 1704415540 33 36 25 58 18 \n", + "13 201 1704415710 33 36 25 58 18 \n", + "14 201 1704415880 33 36 25 58 18 \n", + "\n", + " dura_A6 dura_A7 dura_A8 ... dura_B4 dura_B5 dura_B6 dura_B7 \\\n", + "8 0 0 0 ... 0 0 0 0 \n", + "9 0 0 0 ... 0 0 0 0 \n", + "10 0 0 0 ... 0 0 0 0 \n", + "11 0 0 0 ... 0 0 0 0 \n", + "12 0 0 0 ... 0 0 0 0 \n", + ".. ... ... ... ... ... ... ... ... \n", + "10 0 0 0 ... 58 18 0 0 \n", + "11 0 0 0 ... 58 18 0 0 \n", + "12 0 0 0 ... 58 18 0 0 \n", + "13 0 0 0 ... 58 18 0 0 \n", + "14 0 0 0 ... 58 18 0 0 \n", + "\n", + " dura_B8 cycle D_n S_n Unnamed: 0 offset \n", + "8 0 180 2400.0 1620.0 NaN NaN \n", + "9 0 180 2400.0 1800.0 NaN NaN \n", + "10 0 180 2400.0 1980.0 NaN NaN \n", + "11 0 180 2400.0 2160.0 NaN NaN \n", + "12 0 177 2400.0 2340.0 NaN NaN \n", + ".. ... ... ... ... ... ... \n", + "10 0 170 2400.0 1860.0 NaN NaN \n", + "11 0 170 NaN NaN 18.0 134.0 \n", + "12 0 170 NaN NaN 18.0 134.0 \n", + "13 0 170 NaN NaN 18.0 134.0 \n", + "14 0 170 NaN NaN 18.0 134.0 \n", + "\n", + "[81 rows x 23 columns]" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sg.make_rhists()\n", + "sg.rhists" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "rts", + "language": "python", + "name": "rts" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Analysis/0213_unit_test/histids.csv b/Analysis/0213_unit_test/histids.csv new file mode 100644 index 000000000..49990221c --- /dev/null +++ b/Analysis/0213_unit_test/histids.csv @@ -0,0 +1,367 @@ +,inter_no,node_id,start_unix,phas_A,phas_B,duration,inc_edge_A,out_edge_A,inc_edge_B,out_edge_B +15,175,i0,1704451890,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 +16,175,i0,1704451890,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 +17,175,i0,1704451890,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 +18,175,i0,1704451890,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 +19,175,i0,1704451890,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 +20,175,i0,1704452080,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 +21,175,i0,1704452080,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 +22,175,i0,1704452080,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 +23,175,i0,1704452080,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 +24,175,i0,1704452080,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 +25,175,i0,1704452270,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 +26,175,i0,1704452270,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 +27,175,i0,1704452270,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 +28,175,i0,1704452270,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 +29,175,i0,1704452270,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 +30,175,i0,1704452460,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 +31,175,i0,1704452460,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 +32,175,i0,1704452460,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 +33,175,i0,1704452460,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 +34,175,i0,1704452460,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 +35,175,i0,1704452650,1,1,46,-571542797_02,571500487_01,-571500487_01,571542797_02 +36,175,i0,1704452650,2,2,48,-571500487_01,571545870_01,-571542797_02,571510153_01 +37,175,i0,1704452650,3,3,55,571545870_02,571510153_01,571545870_02,571542797_02 +38,175,i0,1704452650,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 +39,175,i0,1704452650,4,4,41,571510153_02,571500487_01,571510153_02,571545870_01 +40,175,i0,1704452810,1,1,38,-571542797_02,571500487_01,-571500487_01,571542797_02 +41,175,i0,1704452810,2,2,40,-571500487_01,571545870_01,-571542797_02,571510153_01 +42,175,i0,1704452810,3,3,46,571545870_02,571510153_01,571545870_02,571542797_02 +43,175,i0,1704452810,3,4,0,571545870_02,571510153_01,571510153_02,571545870_01 +44,175,i0,1704452810,4,4,34,571510153_02,571500487_01,571510153_02,571545870_01 +54,176,i1,1704451890,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +55,176,i1,1704451890,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +56,176,i1,1704451890,3,3,40,571543469_02,-571542797_02.99,, +57,176,i1,1704452080,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +58,176,i1,1704452080,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +59,176,i1,1704452080,3,3,40,571543469_02,-571542797_02.99,, +60,176,i1,1704452270,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +61,176,i1,1704452270,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +62,176,i1,1704452270,3,3,40,571543469_02,-571542797_02.99,, +63,176,i1,1704452460,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +64,176,i1,1704452460,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +65,176,i1,1704452460,3,3,40,571543469_02,-571542797_02.99,, +66,176,i1,1704452650,1,1,37,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +67,176,i1,1704452650,2,2,113,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +68,176,i1,1704452650,3,3,40,571543469_02,-571542797_02.99,, +69,176,i1,1704452810,1,1,31,-571542810_01,-571542797_02.99,571542797_02.99,571542810_01 +70,176,i1,1704452810,2,2,95,-571542810_01,-571542797_02.99,-571542810_01,571543469_01 +71,176,i1,1704452810,3,3,33,571543469_02,-571542797_02.99,, +84,177,i2,1704451900,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 +85,177,i2,1704451900,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 +86,177,i2,1704451900,3,3,77,,,, +87,177,i2,1704451900,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 +88,177,i2,1704452090,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 +89,177,i2,1704452090,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 +90,177,i2,1704452090,3,3,77,,,, +91,177,i2,1704452090,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 +92,177,i2,1704452280,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 +93,177,i2,1704452280,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 +94,177,i2,1704452280,3,3,77,,,, +95,177,i2,1704452280,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 +96,177,i2,1704452470,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 +97,177,i2,1704452470,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 +98,177,i2,1704452470,3,3,77,,,, +99,177,i2,1704452470,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 +100,177,i2,1704452660,1,1,45,-571542809_01,571542811_01,571542811_02,571542809_01 +101,177,i2,1704452660,2,2,32,571542811_02,571542107_01,-571542809_01,571542809_01 +102,177,i2,1704452660,3,3,77,,,, +103,177,i2,1704452660,4,4,36,-571542809_01,571542811_01,571542107_02,571542809_01 +104,177,i2,1704452810,1,1,35,-571542809_01,571542811_01,571542811_02,571542809_01 +105,177,i2,1704452810,2,2,25,571542811_02,571542107_01,-571542809_01,571542809_01 +106,177,i2,1704452810,3,3,60,,,, +107,177,i2,1704452810,4,4,28,-571542809_01,571542811_01,571542107_02,571542809_01 +120,178,i3,1704451840,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +121,178,i3,1704451840,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +122,178,i3,1704451840,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +123,178,i3,1704451840,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 +124,178,i3,1704452020,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +125,178,i3,1704452020,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +126,178,i3,1704452020,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +127,178,i3,1704452020,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 +128,178,i3,1704452200,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +129,178,i3,1704452200,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +130,178,i3,1704452200,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +131,178,i3,1704452200,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 +132,178,i3,1704452380,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +133,178,i3,1704452380,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +134,178,i3,1704452380,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +135,178,i3,1704452380,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 +136,178,i3,1704452560,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +137,178,i3,1704452560,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +138,178,i3,1704452560,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +139,178,i3,1704452560,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 +140,178,i3,1704452740,1,1,38,571540304_02,571556450_01,571556450_02,571540304_01 +141,178,i3,1704452740,2,2,39,571556450_02,571500475_01,571540304_02,571540303_01 +142,178,i3,1704452740,3,3,44,571540303_02.21,571556450_01,571540303_02.21,571500475_01 +143,178,i3,1704452740,4,4,59,-571500475_01,571540303_01,-571500475_01,571540304_01 +164,201,i8,1704451940,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 +165,201,i8,1704451940,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 +166,201,i8,1704451940,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 +167,201,i8,1704451940,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +168,201,i8,1704451940,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +169,201,i8,1704452120,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 +170,201,i8,1704452120,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 +171,201,i8,1704452120,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 +172,201,i8,1704452120,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +173,201,i8,1704452120,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +174,201,i8,1704452300,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 +175,201,i8,1704452300,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 +176,201,i8,1704452300,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 +177,201,i8,1704452300,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +178,201,i8,1704452300,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +179,201,i8,1704452480,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 +180,201,i8,1704452480,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 +181,201,i8,1704452480,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 +182,201,i8,1704452480,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +183,201,i8,1704452480,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +184,201,i8,1704452660,1,1,36,-571500569_01,571500583_02,-571500569_01,571500618_01 +185,201,i8,1704452660,2,2,50,571500618_02,571500583_02,571500618_02,571500617_01 +186,201,i8,1704452660,3,3,18,571500617_02,571500618_01,571500618_02,571500617_01 +187,201,i8,1704452660,4,4,58,571500617_02,571500618_01,571500617_02,571500569_01 +188,201,i8,1704452660,5,5,18,571500583_01,571500617_01,571500583_01,571500569_01 +189,201,i8,1704452810,1,1,30,-571500569_01,571500583_02,-571500569_01,571500618_01 +190,201,i8,1704452810,2,2,41,571500618_02,571500583_02,571500618_02,571500617_01 +191,201,i8,1704452810,3,3,15,571500617_02,571500618_01,571500618_02,571500617_01 +192,201,i8,1704452810,4,4,48,571500617_02,571500618_01,571500617_02,571500569_01 +193,201,i8,1704452810,5,5,15,571500583_01,571500617_01,571500583_01,571500569_01 +202,202,i9,1704451970,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 +203,202,i9,1704451970,2,2,122,,,, +204,202,i9,1704452140,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 +205,202,i9,1704452140,2,2,122,,,, +206,202,i9,1704452310,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 +207,202,i9,1704452310,2,2,122,,,, +208,202,i9,1704452480,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 +209,202,i9,1704452480,2,2,122,,,, +210,202,i9,1704452650,1,1,48,571510152_02,-571510152_01,571510152_01,571510152_01.65 +211,202,i9,1704452650,2,2,122,,,, +212,202,i9,1704452810,1,1,45,571510152_02,-571510152_01,571510152_01,571510152_01.65 +213,202,i9,1704452810,2,2,114,,,, +230,206,i7,1704451889,1,1,45,-571511538_02,571542073_02,571542073_01,571511538_02 +231,206,i7,1704451889,2,2,61,,,, +232,206,i7,1704451889,3,3,25,-571511538_02,571542073_02,571542073_01,571511538_02 +233,206,i7,1704451889,4,4,25,,,, +234,206,i7,1704452050,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 +235,206,i7,1704452050,2,2,62,,,, +236,206,i7,1704452050,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +237,206,i7,1704452050,4,4,26,,,, +238,206,i7,1704452210,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 +239,206,i7,1704452210,2,2,62,,,, +240,206,i7,1704452210,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +241,206,i7,1704452210,4,4,26,,,, +242,206,i7,1704452370,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 +243,206,i7,1704452370,2,2,62,,,, +244,206,i7,1704452370,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +245,206,i7,1704452370,4,4,26,,,, +246,206,i7,1704452530,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 +247,206,i7,1704452530,2,2,62,,,, +248,206,i7,1704452530,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +249,206,i7,1704452530,4,4,26,,,, +250,206,i7,1704452690,1,1,46,-571511538_02,571542073_02,571542073_01,571511538_02 +251,206,i7,1704452690,2,2,62,,,, +252,206,i7,1704452690,3,3,26,-571511538_02,571542073_02,571542073_01,571511538_02 +253,206,i7,1704452690,4,4,26,,,, +254,206,i7,1704452810,1,1,34,-571511538_02,571542073_02,571542073_01,571511538_02 +255,206,i7,1704452810,2,2,46,,,, +256,206,i7,1704452810,3,3,19,-571511538_02,571542073_02,571542073_01,571511538_02 +257,206,i7,1704452810,4,4,19,,,, +278,210,i6,1704451960,1,1,43,-571542115_01,571500535_01,, +279,210,i6,1704451960,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 +280,210,i6,1704451960,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +281,210,i6,1704451960,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +282,210,i6,1704451960,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 +283,210,i6,1704452150,1,1,43,-571542115_01,571500535_01,, +284,210,i6,1704452150,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 +285,210,i6,1704452150,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +286,210,i6,1704452150,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +287,210,i6,1704452150,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 +288,210,i6,1704452340,1,1,43,-571542115_01,571500535_01,, +289,210,i6,1704452340,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 +290,210,i6,1704452340,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +291,210,i6,1704452340,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +292,210,i6,1704452340,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 +293,210,i6,1704452530,1,1,43,-571542115_01,571500535_01,, +294,210,i6,1704452530,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 +295,210,i6,1704452530,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +296,210,i6,1704452530,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +297,210,i6,1704452530,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 +298,210,i6,1704452720,1,1,43,-571542115_01,571500535_01,, +299,210,i6,1704452720,1,2,0,-571542115_01,571500535_01,571500535_02.18,571542115_01 +300,210,i6,1704452720,2,2,47,571500535_02.18,571511538_01,571500535_02.18,571542115_01 +301,210,i6,1704452720,3,3,75,571511538_02.121,571542115_01,571511538_02.121,571500585_01 +302,210,i6,1704452720,4,4,25,571500585_02,571511538_01,571500585_02,571500535_01 +15,175,u00,1704451890,1,1,46,,,, +16,175,u00,1704451890,2,2,48,,,, +17,175,u00,1704451890,3,3,55,,,, +18,175,u00,1704451890,3,4,0,,,, +19,175,u00,1704451890,4,4,41,,,, +20,175,u00,1704452080,1,1,46,,,, +21,175,u00,1704452080,2,2,48,,,, +22,175,u00,1704452080,3,3,55,,,, +23,175,u00,1704452080,3,4,0,,,, +24,175,u00,1704452080,4,4,41,,,, +25,175,u00,1704452270,1,1,46,,,, +26,175,u00,1704452270,2,2,48,,,, +27,175,u00,1704452270,3,3,55,,,, +28,175,u00,1704452270,3,4,0,,,, +29,175,u00,1704452270,4,4,41,,,, +30,175,u00,1704452460,1,1,46,,,, +31,175,u00,1704452460,2,2,48,,,, +32,175,u00,1704452460,3,3,55,,,, +33,175,u00,1704452460,3,4,0,,,, +34,175,u00,1704452460,4,4,41,,,, +35,175,u00,1704452650,1,1,46,,,, +36,175,u00,1704452650,2,2,48,,,, +37,175,u00,1704452650,3,3,55,,,, +38,175,u00,1704452650,3,4,0,,,, +39,175,u00,1704452650,4,4,41,,,, +40,175,u00,1704452810,1,1,38,,,, +41,175,u00,1704452810,2,2,40,,,, +42,175,u00,1704452810,3,3,46,,,, +43,175,u00,1704452810,3,4,0,,,, +44,175,u00,1704452810,4,4,34,,,, +84,177,u20,1704451900,1,1,45,,,, +85,177,u20,1704451900,2,2,32,,,, +86,177,u20,1704451900,3,3,77,,,, +87,177,u20,1704451900,4,4,36,,,, +88,177,u20,1704452090,1,1,45,,,, +89,177,u20,1704452090,2,2,32,,,, +90,177,u20,1704452090,3,3,77,,,, +91,177,u20,1704452090,4,4,36,,,, +92,177,u20,1704452280,1,1,45,,,, +93,177,u20,1704452280,2,2,32,,,, +94,177,u20,1704452280,3,3,77,,,, +95,177,u20,1704452280,4,4,36,,,, +96,177,u20,1704452470,1,1,45,,,, +97,177,u20,1704452470,2,2,32,,,, +98,177,u20,1704452470,3,3,77,,,, +99,177,u20,1704452470,4,4,36,,,, +100,177,u20,1704452660,1,1,45,,,, +101,177,u20,1704452660,2,2,32,,,, +102,177,u20,1704452660,3,3,77,,,, +103,177,u20,1704452660,4,4,36,,,, +104,177,u20,1704452810,1,1,35,,,, +105,177,u20,1704452810,2,2,25,,,, +106,177,u20,1704452810,3,3,60,,,, +107,177,u20,1704452810,4,4,28,,,, +120,178,c30,1704451840,1,1,38,,,, +121,178,c30,1704451840,2,2,39,,,, +122,178,c30,1704451840,3,3,44,,,, +123,178,c30,1704451840,4,4,59,,,, +124,178,c30,1704452020,1,1,38,,,, +125,178,c30,1704452020,2,2,39,,,, +126,178,c30,1704452020,3,3,44,,,, +127,178,c30,1704452020,4,4,59,,,, +128,178,c30,1704452200,1,1,38,,,, +129,178,c30,1704452200,2,2,39,,,, +130,178,c30,1704452200,3,3,44,,,, +131,178,c30,1704452200,4,4,59,,,, +132,178,c30,1704452380,1,1,38,,,, +133,178,c30,1704452380,2,2,39,,,, +134,178,c30,1704452380,3,3,44,,,, +135,178,c30,1704452380,4,4,59,,,, +136,178,c30,1704452560,1,1,38,,,, +137,178,c30,1704452560,2,2,39,,,, +138,178,c30,1704452560,3,3,44,,,, +139,178,c30,1704452560,4,4,59,,,, +140,178,c30,1704452740,1,1,38,,,, +141,178,c30,1704452740,2,2,39,,,, +142,178,c30,1704452740,3,3,44,,,, +143,178,c30,1704452740,4,4,59,,,, +120,178,u30,1704451840,1,1,38,,,, +121,178,u30,1704451840,2,2,39,,,, +122,178,u30,1704451840,3,3,44,,,, +123,178,u30,1704451840,4,4,59,,,, +124,178,u30,1704452020,1,1,38,,,, +125,178,u30,1704452020,2,2,39,,,, +126,178,u30,1704452020,3,3,44,,,, +127,178,u30,1704452020,4,4,59,,,, +128,178,u30,1704452200,1,1,38,,,, +129,178,u30,1704452200,2,2,39,,,, +130,178,u30,1704452200,3,3,44,,,, +131,178,u30,1704452200,4,4,59,,,, +132,178,u30,1704452380,1,1,38,,,, +133,178,u30,1704452380,2,2,39,,,, +134,178,u30,1704452380,3,3,44,,,, +135,178,u30,1704452380,4,4,59,,,, +136,178,u30,1704452560,1,1,38,,,, +137,178,u30,1704452560,2,2,39,,,, +138,178,u30,1704452560,3,3,44,,,, +139,178,u30,1704452560,4,4,59,,,, +140,178,u30,1704452740,1,1,38,,,, +141,178,u30,1704452740,2,2,39,,,, +142,178,u30,1704452740,3,3,44,,,, +143,178,u30,1704452740,4,4,59,,,, +120,178,u31,1704451840,1,1,38,,,, +121,178,u31,1704451840,2,2,39,,,, +122,178,u31,1704451840,3,3,44,,,, +123,178,u31,1704451840,4,4,59,,,, +124,178,u31,1704452020,1,1,38,,,, +125,178,u31,1704452020,2,2,39,,,, +126,178,u31,1704452020,3,3,44,,,, +127,178,u31,1704452020,4,4,59,,,, +128,178,u31,1704452200,1,1,38,,,, +129,178,u31,1704452200,2,2,39,,,, +130,178,u31,1704452200,3,3,44,,,, +131,178,u31,1704452200,4,4,59,,,, +132,178,u31,1704452380,1,1,38,,,, +133,178,u31,1704452380,2,2,39,,,, +134,178,u31,1704452380,3,3,44,,,, +135,178,u31,1704452380,4,4,59,,,, +136,178,u31,1704452560,1,1,38,,,, +137,178,u31,1704452560,2,2,39,,,, +138,178,u31,1704452560,3,3,44,,,, +139,178,u31,1704452560,4,4,59,,,, +140,178,u31,1704452740,1,1,38,,,, +141,178,u31,1704452740,2,2,39,,,, +142,178,u31,1704452740,3,3,44,,,, +143,178,u31,1704452740,4,4,59,,,, +120,178,u32,1704451840,1,1,38,,,, +121,178,u32,1704451840,2,2,39,,,, +122,178,u32,1704451840,3,3,44,,,, +123,178,u32,1704451840,4,4,59,,,, +124,178,u32,1704452020,1,1,38,,,, +125,178,u32,1704452020,2,2,39,,,, +126,178,u32,1704452020,3,3,44,,,, +127,178,u32,1704452020,4,4,59,,,, +128,178,u32,1704452200,1,1,38,,,, +129,178,u32,1704452200,2,2,39,,,, +130,178,u32,1704452200,3,3,44,,,, +131,178,u32,1704452200,4,4,59,,,, +132,178,u32,1704452380,1,1,38,,,, +133,178,u32,1704452380,2,2,39,,,, +134,178,u32,1704452380,3,3,44,,,, +135,178,u32,1704452380,4,4,59,,,, +136,178,u32,1704452560,1,1,38,,,, +137,178,u32,1704452560,2,2,39,,,, +138,178,u32,1704452560,3,3,44,,,, +139,178,u32,1704452560,4,4,59,,,, +140,178,u32,1704452740,1,1,38,,,, +141,178,u32,1704452740,2,2,39,,,, +142,178,u32,1704452740,3,3,44,,,, +143,178,u32,1704452740,4,4,59,,,, +278,210,u60,1704451960,1,1,43,,,, +279,210,u60,1704451960,1,2,0,,,, +280,210,u60,1704451960,2,2,47,,,, +281,210,u60,1704451960,3,3,75,,,, +282,210,u60,1704451960,4,4,25,,,, +283,210,u60,1704452150,1,1,43,,,, +284,210,u60,1704452150,1,2,0,,,, +285,210,u60,1704452150,2,2,47,,,, +286,210,u60,1704452150,3,3,75,,,, +287,210,u60,1704452150,4,4,25,,,, +288,210,u60,1704452340,1,1,43,,,, +289,210,u60,1704452340,1,2,0,,,, +290,210,u60,1704452340,2,2,47,,,, +291,210,u60,1704452340,3,3,75,,,, +292,210,u60,1704452340,4,4,25,,,, +293,210,u60,1704452530,1,1,43,,,, +294,210,u60,1704452530,1,2,0,,,, +295,210,u60,1704452530,2,2,47,,,, +296,210,u60,1704452530,3,3,75,,,, +297,210,u60,1704452530,4,4,25,,,, +298,210,u60,1704452720,1,1,43,,,, +299,210,u60,1704452720,1,2,0,,,, +300,210,u60,1704452720,2,2,47,,,, +301,210,u60,1704452720,3,3,75,,,, +302,210,u60,1704452720,4,4,25,,,, diff --git a/Analysis/0213_unit_test/hrhists.csv b/Analysis/0213_unit_test/hrhists.csv new file mode 100644 index 000000000..a2c201356 --- /dev/null +++ b/Analysis/0213_unit_test/hrhists.csv @@ -0,0 +1,313 @@ +,inter_no,start_unix,phas_A,phas_B,duration +0,175,1704451320,1,1,46 +1,175,1704451320,2,2,48 +2,175,1704451320,3,3,55 +3,175,1704451320,3,4,0 +4,175,1704451320,4,4,41 +0,175,1704451510,1,1,46 +1,175,1704451510,2,2,48 +2,175,1704451510,3,3,55 +3,175,1704451510,3,4,0 +4,175,1704451510,4,4,41 +0,175,1704451700,1,1,46 +1,175,1704451700,2,2,48 +2,175,1704451700,3,3,55 +3,175,1704451700,3,4,0 +4,175,1704451700,4,4,41 +0,175,1704451890,1,1,46 +1,175,1704451890,2,2,48 +2,175,1704451890,3,3,55 +3,175,1704451890,3,4,0 +4,175,1704451890,4,4,41 +0,175,1704452080,1,1,46 +1,175,1704452080,2,2,48 +2,175,1704452080,3,3,55 +3,175,1704452080,3,4,0 +4,175,1704452080,4,4,41 +0,175,1704452270,1,1,46 +1,175,1704452270,2,2,48 +2,175,1704452270,3,3,55 +3,175,1704452270,3,4,0 +4,175,1704452270,4,4,41 +0,175,1704452460,1,1,46 +1,175,1704452460,2,2,48 +2,175,1704452460,3,3,55 +3,175,1704452460,3,4,0 +4,175,1704452460,4,4,41 +0,175,1704452650,1,1,46 +1,175,1704452650,2,2,48 +2,175,1704452650,3,3,55 +3,175,1704452650,3,4,0 +4,175,1704452650,4,4,41 +0,175,1704452810,1,1,38 +1,175,1704452810,2,2,40 +2,175,1704452810,3,3,46 +3,175,1704452810,3,4,0 +4,175,1704452810,4,4,34 +0,176,1704451320,1,1,36 +1,176,1704451320,2,2,112 +2,176,1704451320,3,3,39 +0,176,1704451510,1,1,37 +1,176,1704451510,2,2,113 +2,176,1704451510,3,3,40 +0,176,1704451699,1,1,36 +1,176,1704451699,2,2,112 +2,176,1704451699,3,3,39 +0,176,1704451890,1,1,37 +1,176,1704451890,2,2,113 +2,176,1704451890,3,3,40 +0,176,1704452080,1,1,37 +1,176,1704452080,2,2,113 +2,176,1704452080,3,3,40 +0,176,1704452270,1,1,37 +1,176,1704452270,2,2,113 +2,176,1704452270,3,3,40 +0,176,1704452460,1,1,37 +1,176,1704452460,2,2,113 +2,176,1704452460,3,3,40 +0,176,1704452650,1,1,37 +1,176,1704452650,2,2,113 +2,176,1704452650,3,3,40 +0,176,1704452810,1,1,31 +1,176,1704452810,2,2,95 +2,176,1704452810,3,3,33 +0,177,1704451330,1,1,45 +1,177,1704451330,2,2,32 +2,177,1704451330,3,3,77 +3,177,1704451330,4,4,36 +0,177,1704451520,1,1,45 +1,177,1704451520,2,2,32 +2,177,1704451520,3,3,77 +3,177,1704451520,4,4,36 +0,177,1704451710,1,1,45 +1,177,1704451710,2,2,32 +2,177,1704451710,3,3,77 +3,177,1704451710,4,4,36 +0,177,1704451900,1,1,45 +1,177,1704451900,2,2,32 +2,177,1704451900,3,3,77 +3,177,1704451900,4,4,36 +0,177,1704452090,1,1,45 +1,177,1704452090,2,2,32 +2,177,1704452090,3,3,77 +3,177,1704452090,4,4,36 +0,177,1704452280,1,1,45 +1,177,1704452280,2,2,32 +2,177,1704452280,3,3,77 +3,177,1704452280,4,4,36 +0,177,1704452470,1,1,45 +1,177,1704452470,2,2,32 +2,177,1704452470,3,3,77 +3,177,1704452470,4,4,36 +0,177,1704452660,1,1,45 +1,177,1704452660,2,2,32 +2,177,1704452660,3,3,77 +3,177,1704452660,4,4,36 +0,177,1704452810,1,1,35 +1,177,1704452810,2,2,25 +2,177,1704452810,3,3,60 +3,177,1704452810,4,4,28 +0,178,1704451300,1,1,38 +1,178,1704451300,2,2,39 +2,178,1704451300,3,3,44 +3,178,1704451300,4,3,0 +4,178,1704451300,4,4,59 +0,178,1704451480,1,1,38 +1,178,1704451480,2,2,39 +2,178,1704451480,3,3,44 +3,178,1704451480,4,3,0 +4,178,1704451480,4,4,59 +0,178,1704451660,1,1,38 +1,178,1704451660,2,2,39 +2,178,1704451660,3,3,44 +3,178,1704451660,4,3,0 +4,178,1704451660,4,4,59 +0,178,1704451840,1,1,38 +1,178,1704451840,2,2,39 +2,178,1704451840,3,3,44 +3,178,1704451840,4,3,0 +4,178,1704451840,4,4,59 +0,178,1704452020,1,1,38 +1,178,1704452020,2,2,39 +2,178,1704452020,3,3,44 +3,178,1704452020,4,3,0 +4,178,1704452020,4,4,59 +0,178,1704452200,1,1,38 +1,178,1704452200,2,2,39 +2,178,1704452200,3,3,44 +3,178,1704452200,4,3,0 +4,178,1704452200,4,4,59 +0,178,1704452380,1,1,38 +1,178,1704452380,2,2,39 +2,178,1704452380,3,3,44 +3,178,1704452380,4,3,0 +4,178,1704452380,4,4,59 +0,178,1704452560,1,1,38 +1,178,1704452560,2,2,39 +2,178,1704452560,3,3,44 +3,178,1704452560,4,3,0 +4,178,1704452560,4,4,59 +0,178,1704452740,1,1,38 +1,178,1704452740,2,2,39 +2,178,1704452740,3,3,44 +3,178,1704452740,4,3,0 +4,178,1704452740,4,4,59 +0,201,1704451219,1,1,35 +1,201,1704451219,2,2,49 +2,201,1704451219,3,3,17 +3,201,1704451219,4,4,57 +4,201,1704451219,5,5,17 +0,201,1704451400,1,1,36 +1,201,1704451400,2,2,50 +2,201,1704451400,3,3,18 +3,201,1704451400,4,4,58 +4,201,1704451400,5,5,18 +0,201,1704451580,1,1,36 +1,201,1704451580,2,2,50 +2,201,1704451580,3,3,18 +3,201,1704451580,4,4,58 +4,201,1704451580,5,5,18 +0,201,1704451760,1,1,36 +1,201,1704451760,2,2,50 +2,201,1704451760,3,3,18 +3,201,1704451760,4,4,58 +4,201,1704451760,5,5,18 +0,201,1704451940,1,1,36 +1,201,1704451940,2,2,50 +2,201,1704451940,3,3,18 +3,201,1704451940,4,4,58 +4,201,1704451940,5,5,18 +0,201,1704452120,1,1,36 +1,201,1704452120,2,2,50 +2,201,1704452120,3,3,18 +3,201,1704452120,4,4,58 +4,201,1704452120,5,5,18 +0,201,1704452300,1,1,36 +1,201,1704452300,2,2,50 +2,201,1704452300,3,3,18 +3,201,1704452300,4,4,58 +4,201,1704452300,5,5,18 +0,201,1704452480,1,1,36 +1,201,1704452480,2,2,50 +2,201,1704452480,3,3,18 +3,201,1704452480,4,4,58 +4,201,1704452480,5,5,18 +0,201,1704452660,1,1,36 +1,201,1704452660,2,2,50 +2,201,1704452660,3,3,18 +3,201,1704452660,4,4,58 +4,201,1704452660,5,5,18 +0,201,1704452810,1,1,30 +1,201,1704452810,2,2,41 +2,201,1704452810,3,3,15 +3,201,1704452810,4,4,48 +4,201,1704452810,5,5,15 +0,202,1704451290,1,1,48 +1,202,1704451290,2,2,122 +0,202,1704451460,1,1,48 +1,202,1704451460,2,2,122 +0,202,1704451630,1,1,48 +1,202,1704451630,2,2,122 +0,202,1704451800,1,1,48 +1,202,1704451800,2,2,122 +0,202,1704451970,1,1,48 +1,202,1704451970,2,2,122 +0,202,1704452140,1,1,48 +1,202,1704452140,2,2,122 +0,202,1704452310,1,1,48 +1,202,1704452310,2,2,122 +0,202,1704452480,1,1,48 +1,202,1704452480,2,2,122 +0,202,1704452650,1,1,48 +1,202,1704452650,2,2,122 +0,202,1704452810,1,1,45 +1,202,1704452810,2,2,114 +0,206,1704451250,1,1,46 +1,206,1704451250,2,2,62 +2,206,1704451250,3,3,26 +3,206,1704451250,4,4,26 +0,206,1704451410,1,1,46 +1,206,1704451410,2,2,62 +2,206,1704451410,3,3,26 +3,206,1704451410,4,4,26 +0,206,1704451570,1,1,46 +1,206,1704451570,2,2,62 +2,206,1704451570,3,3,26 +3,206,1704451570,4,4,26 +0,206,1704451730,1,1,46 +1,206,1704451730,2,2,62 +2,206,1704451730,3,3,26 +3,206,1704451730,4,4,26 +0,206,1704451889,1,1,45 +1,206,1704451889,2,2,61 +2,206,1704451889,3,3,25 +3,206,1704451889,4,4,25 +0,206,1704452050,1,1,46 +1,206,1704452050,2,2,62 +2,206,1704452050,3,3,26 +3,206,1704452050,4,4,26 +0,206,1704452210,1,1,46 +1,206,1704452210,2,2,62 +2,206,1704452210,3,3,26 +3,206,1704452210,4,4,26 +0,206,1704452370,1,1,46 +1,206,1704452370,2,2,62 +2,206,1704452370,3,3,26 +3,206,1704452370,4,4,26 +0,206,1704452530,1,1,46 +1,206,1704452530,2,2,62 +2,206,1704452530,3,3,26 +3,206,1704452530,4,4,26 +0,206,1704452690,1,1,46 +1,206,1704452690,2,2,62 +2,206,1704452690,3,3,26 +3,206,1704452690,4,4,26 +0,206,1704452810,1,1,34 +1,206,1704452810,2,2,46 +2,206,1704452810,3,3,19 +3,206,1704452810,4,4,19 +0,210,1704451200,1,1,43 +1,210,1704451200,1,2,0 +2,210,1704451200,2,2,47 +3,210,1704451200,3,3,75 +4,210,1704451200,4,4,25 +0,210,1704451390,1,1,43 +1,210,1704451390,1,2,0 +2,210,1704451390,2,2,47 +3,210,1704451390,3,3,75 +4,210,1704451390,4,4,25 +0,210,1704451581,1,1,43 +1,210,1704451581,1,2,0 +2,210,1704451581,2,2,47 +3,210,1704451581,3,3,75 +4,210,1704451581,4,4,25 +0,210,1704451770,1,1,42 +1,210,1704451770,1,2,0 +2,210,1704451770,2,2,46 +3,210,1704451770,3,3,74 +4,210,1704451770,4,4,24 +0,210,1704451960,1,1,43 +1,210,1704451960,1,2,0 +2,210,1704451960,2,2,47 +3,210,1704451960,3,3,75 +4,210,1704451960,4,4,25 +0,210,1704452150,1,1,43 +1,210,1704452150,1,2,0 +2,210,1704452150,2,2,47 +3,210,1704452150,3,3,75 +4,210,1704452150,4,4,25 +0,210,1704452340,1,1,43 +1,210,1704452340,1,2,0 +2,210,1704452340,2,2,47 +3,210,1704452340,3,3,75 +4,210,1704452340,4,4,25 +0,210,1704452530,1,1,43 +1,210,1704452530,1,2,0 +2,210,1704452530,2,2,47 +3,210,1704452530,3,3,75 +4,210,1704452530,4,4,25 +0,210,1704452720,1,1,43 +1,210,1704452720,1,2,0 +2,210,1704452720,2,2,47 +3,210,1704452720,3,3,75 +4,210,1704452720,4,4,25 diff --git a/Analysis/0213_unit_test/sigtable.csv b/Analysis/0213_unit_test/sigtable.csv new file mode 100644 index 000000000..fb93a3cd5 --- /dev/null +++ b/Analysis/0213_unit_test/sigtable.csv @@ -0,0 +1,367 @@ +,node_id,start_unix,phase_sumo,duration,state,start_dt +0,i0,1704451890,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:51:30 +1,i0,1704451890,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:51:30 +2,i0,1704451890,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:51:30 +3,i0,1704451890,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:51:30 +4,i0,1704451890,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:51:30 +5,i0,1704452080,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:54:40 +6,i0,1704452080,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:54:40 +7,i0,1704452080,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:54:40 +8,i0,1704452080,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:54:40 +9,i0,1704452080,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:54:40 +10,i0,1704452270,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:57:50 +11,i0,1704452270,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:57:50 +12,i0,1704452270,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:57:50 +13,i0,1704452270,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:57:50 +14,i0,1704452270,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:57:50 +15,i0,1704452460,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 20:01:00 +16,i0,1704452460,1,48,grrGgrrrgrrrrGgrr,2024-01-05 20:01:00 +17,i0,1704452460,2,55,grrrgGGGgrrrrrgrr,2024-01-05 20:01:00 +18,i0,1704452460,3,0,grrrgGGrgrrrrrgGr,2024-01-05 20:01:00 +19,i0,1704452460,4,41,grrrgrrrgrrrrrgGG,2024-01-05 20:01:00 +20,i0,1704452650,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 20:04:10 +21,i0,1704452650,1,48,grrGgrrrgrrrrGgrr,2024-01-05 20:04:10 +22,i0,1704452650,2,55,grrrgGGGgrrrrrgrr,2024-01-05 20:04:10 +23,i0,1704452650,3,0,grrrgGGrgrrrrrgGr,2024-01-05 20:04:10 +24,i0,1704452650,4,41,grrrgrrrgrrrrrgGG,2024-01-05 20:04:10 +25,i0,1704452810,0,38,gGGrgrrrgGGGGrgrr,2024-01-05 20:06:50 +26,i0,1704452810,1,40,grrGgrrrgrrrrGgrr,2024-01-05 20:06:50 +27,i0,1704452810,2,46,grrrgGGGgrrrrrgrr,2024-01-05 20:06:50 +28,i0,1704452810,3,0,grrrgGGrgrrrrrgGr,2024-01-05 20:06:50 +29,i0,1704452810,4,34,grrrgrrrgrrrrrgGG,2024-01-05 20:06:50 +30,i1,1704451890,0,37,gGGGGGrgrr,2024-01-05 19:51:30 +31,i1,1704451890,1,113,grrGGGGgrr,2024-01-05 19:51:30 +32,i1,1704451890,2,40,grrrrrrgGG,2024-01-05 19:51:30 +33,i1,1704452080,0,37,gGGGGGrgrr,2024-01-05 19:54:40 +34,i1,1704452080,1,113,grrGGGGgrr,2024-01-05 19:54:40 +35,i1,1704452080,2,40,grrrrrrgGG,2024-01-05 19:54:40 +36,i1,1704452270,0,37,gGGGGGrgrr,2024-01-05 19:57:50 +37,i1,1704452270,1,113,grrGGGGgrr,2024-01-05 19:57:50 +38,i1,1704452270,2,40,grrrrrrgGG,2024-01-05 19:57:50 +39,i1,1704452460,0,37,gGGGGGrgrr,2024-01-05 20:01:00 +40,i1,1704452460,1,113,grrGGGGgrr,2024-01-05 20:01:00 +41,i1,1704452460,2,40,grrrrrrgGG,2024-01-05 20:01:00 +42,i1,1704452650,0,37,gGGGGGrgrr,2024-01-05 20:04:10 +43,i1,1704452650,1,113,grrGGGGgrr,2024-01-05 20:04:10 +44,i1,1704452650,2,40,grrrrrrgGG,2024-01-05 20:04:10 +45,i1,1704452810,0,31,gGGGGGrgrr,2024-01-05 20:06:50 +46,i1,1704452810,1,95,grrGGGGgrr,2024-01-05 20:06:50 +47,i1,1704452810,2,33,grrrrrrgGG,2024-01-05 20:06:50 +48,i2,1704451900,0,45,GGggGGG,2024-01-05 19:51:40 +49,i2,1704451900,1,32,rrggrrr,2024-01-05 19:51:40 +50,i2,1704451900,2,77,rrggrrr,2024-01-05 19:51:40 +51,i2,1704451900,3,36,rrggGGG,2024-01-05 19:51:40 +52,i2,1704452090,0,45,GGggGGG,2024-01-05 19:54:50 +53,i2,1704452090,1,32,rrggrrr,2024-01-05 19:54:50 +54,i2,1704452090,2,77,rrggrrr,2024-01-05 19:54:50 +55,i2,1704452090,3,36,rrggGGG,2024-01-05 19:54:50 +56,i2,1704452280,0,45,GGggGGG,2024-01-05 19:58:00 +57,i2,1704452280,1,32,rrggrrr,2024-01-05 19:58:00 +58,i2,1704452280,2,77,rrggrrr,2024-01-05 19:58:00 +59,i2,1704452280,3,36,rrggGGG,2024-01-05 19:58:00 +60,i2,1704452470,0,45,GGggGGG,2024-01-05 20:01:10 +61,i2,1704452470,1,32,rrggrrr,2024-01-05 20:01:10 +62,i2,1704452470,2,77,rrggrrr,2024-01-05 20:01:10 +63,i2,1704452470,3,36,rrggGGG,2024-01-05 20:01:10 +64,i2,1704452660,0,45,GGggGGG,2024-01-05 20:04:20 +65,i2,1704452660,1,32,rrggrrr,2024-01-05 20:04:20 +66,i2,1704452660,2,77,rrggrrr,2024-01-05 20:04:20 +67,i2,1704452660,3,36,rrggGGG,2024-01-05 20:04:20 +68,i2,1704452810,0,35,GGggGGG,2024-01-05 20:06:50 +69,i2,1704452810,1,25,rrggrrr,2024-01-05 20:06:50 +70,i2,1704452810,2,60,rrggrrr,2024-01-05 20:06:50 +71,i2,1704452810,3,28,rrggGGG,2024-01-05 20:06:50 +72,i3,1704451840,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:50:40 +73,i3,1704451840,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:50:40 +74,i3,1704451840,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:50:40 +75,i3,1704451840,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:50:40 +76,i3,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +77,i3,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +78,i3,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +79,i3,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +80,i3,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +81,i3,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +82,i3,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +83,i3,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +84,i3,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +85,i3,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +86,i3,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +87,i3,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +88,i3,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +89,i3,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +90,i3,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +91,i3,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +92,i3,1704452740,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:05:40 +93,i3,1704452740,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:05:40 +94,i3,1704452740,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:05:40 +95,i3,1704452740,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:05:40 +96,i8,1704451940,0,36,grrrrrrrgGGGgrrr,2024-01-05 19:52:20 +97,i8,1704451940,1,50,grrrrrrrgrrrgGGG,2024-01-05 19:52:20 +98,i8,1704451940,2,18,grrrGGGrgrrrgGGr,2024-01-05 19:52:20 +99,i8,1704451940,3,58,grrrGGGGgrrrgrrr,2024-01-05 19:52:20 +100,i8,1704451940,4,18,gGGGrrrrgrrrgrrr,2024-01-05 19:52:20 +101,i8,1704452120,0,36,grrrrrrrgGGGgrrr,2024-01-05 19:55:20 +102,i8,1704452120,1,50,grrrrrrrgrrrgGGG,2024-01-05 19:55:20 +103,i8,1704452120,2,18,grrrGGGrgrrrgGGr,2024-01-05 19:55:20 +104,i8,1704452120,3,58,grrrGGGGgrrrgrrr,2024-01-05 19:55:20 +105,i8,1704452120,4,18,gGGGrrrrgrrrgrrr,2024-01-05 19:55:20 +106,i8,1704452300,0,36,grrrrrrrgGGGgrrr,2024-01-05 19:58:20 +107,i8,1704452300,1,50,grrrrrrrgrrrgGGG,2024-01-05 19:58:20 +108,i8,1704452300,2,18,grrrGGGrgrrrgGGr,2024-01-05 19:58:20 +109,i8,1704452300,3,58,grrrGGGGgrrrgrrr,2024-01-05 19:58:20 +110,i8,1704452300,4,18,gGGGrrrrgrrrgrrr,2024-01-05 19:58:20 +111,i8,1704452480,0,36,grrrrrrrgGGGgrrr,2024-01-05 20:01:20 +112,i8,1704452480,1,50,grrrrrrrgrrrgGGG,2024-01-05 20:01:20 +113,i8,1704452480,2,18,grrrGGGrgrrrgGGr,2024-01-05 20:01:20 +114,i8,1704452480,3,58,grrrGGGGgrrrgrrr,2024-01-05 20:01:20 +115,i8,1704452480,4,18,gGGGrrrrgrrrgrrr,2024-01-05 20:01:20 +116,i8,1704452660,0,36,grrrrrrrgGGGgrrr,2024-01-05 20:04:20 +117,i8,1704452660,1,50,grrrrrrrgrrrgGGG,2024-01-05 20:04:20 +118,i8,1704452660,2,18,grrrGGGrgrrrgGGr,2024-01-05 20:04:20 +119,i8,1704452660,3,58,grrrGGGGgrrrgrrr,2024-01-05 20:04:20 +120,i8,1704452660,4,18,gGGGrrrrgrrrgrrr,2024-01-05 20:04:20 +121,i8,1704452810,0,30,grrrrrrrgGGGgrrr,2024-01-05 20:06:50 +122,i8,1704452810,1,41,grrrrrrrgrrrgGGG,2024-01-05 20:06:50 +123,i8,1704452810,2,15,grrrGGGrgrrrgGGr,2024-01-05 20:06:50 +124,i8,1704452810,3,48,grrrGGGGgrrrgrrr,2024-01-05 20:06:50 +125,i8,1704452810,4,15,gGGGrrrrgrrrgrrr,2024-01-05 20:06:50 +126,i9,1704451970,0,48,GGGG,2024-01-05 19:52:50 +127,i9,1704451970,1,122,rrrr,2024-01-05 19:52:50 +128,i9,1704452140,0,48,GGGG,2024-01-05 19:55:40 +129,i9,1704452140,1,122,rrrr,2024-01-05 19:55:40 +130,i9,1704452310,0,48,GGGG,2024-01-05 19:58:30 +131,i9,1704452310,1,122,rrrr,2024-01-05 19:58:30 +132,i9,1704452480,0,48,GGGG,2024-01-05 20:01:20 +133,i9,1704452480,1,122,rrrr,2024-01-05 20:01:20 +134,i9,1704452650,0,48,GGGG,2024-01-05 20:04:10 +135,i9,1704452650,1,122,rrrr,2024-01-05 20:04:10 +136,i9,1704452810,0,45,GGGG,2024-01-05 20:06:50 +137,i9,1704452810,1,114,rrrr,2024-01-05 20:06:50 +138,i7,1704451889,0,45,GGrggGG,2024-01-05 19:51:29 +139,i7,1704451889,1,61,rrrggrr,2024-01-05 19:51:29 +140,i7,1704451889,2,25,GGrggGG,2024-01-05 19:51:29 +141,i7,1704451889,3,25,rrrggrr,2024-01-05 19:51:29 +142,i7,1704452050,0,46,GGrggGG,2024-01-05 19:54:10 +143,i7,1704452050,1,62,rrrggrr,2024-01-05 19:54:10 +144,i7,1704452050,2,26,GGrggGG,2024-01-05 19:54:10 +145,i7,1704452050,3,26,rrrggrr,2024-01-05 19:54:10 +146,i7,1704452210,0,46,GGrggGG,2024-01-05 19:56:50 +147,i7,1704452210,1,62,rrrggrr,2024-01-05 19:56:50 +148,i7,1704452210,2,26,GGrggGG,2024-01-05 19:56:50 +149,i7,1704452210,3,26,rrrggrr,2024-01-05 19:56:50 +150,i7,1704452370,0,46,GGrggGG,2024-01-05 19:59:30 +151,i7,1704452370,1,62,rrrggrr,2024-01-05 19:59:30 +152,i7,1704452370,2,26,GGrggGG,2024-01-05 19:59:30 +153,i7,1704452370,3,26,rrrggrr,2024-01-05 19:59:30 +154,i7,1704452530,0,46,GGrggGG,2024-01-05 20:02:10 +155,i7,1704452530,1,62,rrrggrr,2024-01-05 20:02:10 +156,i7,1704452530,2,26,GGrggGG,2024-01-05 20:02:10 +157,i7,1704452530,3,26,rrrggrr,2024-01-05 20:02:10 +158,i7,1704452690,0,46,GGrggGG,2024-01-05 20:04:50 +159,i7,1704452690,1,62,rrrggrr,2024-01-05 20:04:50 +160,i7,1704452690,2,26,GGrggGG,2024-01-05 20:04:50 +161,i7,1704452690,3,26,rrrggrr,2024-01-05 20:04:50 +162,i7,1704452810,0,34,GGrggGG,2024-01-05 20:06:50 +163,i7,1704452810,1,46,rrrggrr,2024-01-05 20:06:50 +164,i7,1704452810,2,19,GGrggGG,2024-01-05 20:06:50 +165,i7,1704452810,3,19,rrrggrr,2024-01-05 20:06:50 +166,i6,1704451960,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:52:40 +167,i6,1704451960,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:52:40 +168,i6,1704451960,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:52:40 +169,i6,1704451960,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:52:40 +170,i6,1704451960,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:52:40 +171,i6,1704452150,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:55:50 +172,i6,1704452150,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:55:50 +173,i6,1704452150,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:55:50 +174,i6,1704452150,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:55:50 +175,i6,1704452150,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:55:50 +176,i6,1704452340,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:59:00 +177,i6,1704452340,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:59:00 +178,i6,1704452340,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:59:00 +179,i6,1704452340,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:59:00 +180,i6,1704452340,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:59:00 +181,i6,1704452530,0,43,grrrgGGGrgrrgrrr,2024-01-05 20:02:10 +182,i6,1704452530,1,0,grrrgGGGrgrrgGGr,2024-01-05 20:02:10 +183,i6,1704452530,2,47,grrrgrrrrgrrgGGG,2024-01-05 20:02:10 +184,i6,1704452530,3,75,gGGGgrrrrgrrgrrr,2024-01-05 20:02:10 +185,i6,1704452530,4,25,grrrgrrrrgGGgrrr,2024-01-05 20:02:10 +186,i6,1704452720,0,43,grrrgGGGrgrrgrrr,2024-01-05 20:05:20 +187,i6,1704452720,1,0,grrrgGGGrgrrgGGr,2024-01-05 20:05:20 +188,i6,1704452720,2,47,grrrgrrrrgrrgGGG,2024-01-05 20:05:20 +189,i6,1704452720,3,75,gGGGgrrrrgrrgrrr,2024-01-05 20:05:20 +190,i6,1704452720,4,25,grrrgrrrrgGGgrrr,2024-01-05 20:05:20 +191,u00,1704451890,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:51:30 +192,u00,1704451890,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:51:30 +193,u00,1704451890,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:51:30 +194,u00,1704451890,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:51:30 +195,u00,1704451890,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:51:30 +196,u00,1704452080,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:54:40 +197,u00,1704452080,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:54:40 +198,u00,1704452080,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:54:40 +199,u00,1704452080,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:54:40 +200,u00,1704452080,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:54:40 +201,u00,1704452270,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:57:50 +202,u00,1704452270,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:57:50 +203,u00,1704452270,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:57:50 +204,u00,1704452270,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:57:50 +205,u00,1704452270,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:57:50 +206,u00,1704452460,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 20:01:00 +207,u00,1704452460,1,48,grrGgrrrgrrrrGgrr,2024-01-05 20:01:00 +208,u00,1704452460,2,55,grrrgGGGgrrrrrgrr,2024-01-05 20:01:00 +209,u00,1704452460,3,0,grrrgGGrgrrrrrgGr,2024-01-05 20:01:00 +210,u00,1704452460,4,41,grrrgrrrgrrrrrgGG,2024-01-05 20:01:00 +211,u00,1704452650,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 20:04:10 +212,u00,1704452650,1,48,grrGgrrrgrrrrGgrr,2024-01-05 20:04:10 +213,u00,1704452650,2,55,grrrgGGGgrrrrrgrr,2024-01-05 20:04:10 +214,u00,1704452650,3,0,grrrgGGrgrrrrrgGr,2024-01-05 20:04:10 +215,u00,1704452650,4,41,grrrgrrrgrrrrrgGG,2024-01-05 20:04:10 +216,u00,1704452810,0,38,gGGrgrrrgGGGGrgrr,2024-01-05 20:06:50 +217,u00,1704452810,1,40,grrGgrrrgrrrrGgrr,2024-01-05 20:06:50 +218,u00,1704452810,2,46,grrrgGGGgrrrrrgrr,2024-01-05 20:06:50 +219,u00,1704452810,3,0,grrrgGGrgrrrrrgGr,2024-01-05 20:06:50 +220,u00,1704452810,4,34,grrrgrrrgrrrrrgGG,2024-01-05 20:06:50 +221,u20,1704451900,0,45,GGggGGG,2024-01-05 19:51:40 +222,u20,1704451900,1,32,rrggrrr,2024-01-05 19:51:40 +223,u20,1704451900,2,77,gggggg,2024-01-05 19:51:40 +224,u20,1704451900,3,36,rrggGGG,2024-01-05 19:51:40 +225,u20,1704452090,0,45,GGggGGG,2024-01-05 19:54:50 +226,u20,1704452090,1,32,rrggrrr,2024-01-05 19:54:50 +227,u20,1704452090,2,77,gggggg,2024-01-05 19:54:50 +228,u20,1704452090,3,36,rrggGGG,2024-01-05 19:54:50 +229,u20,1704452280,0,45,GGggGGG,2024-01-05 19:58:00 +230,u20,1704452280,1,32,rrggrrr,2024-01-05 19:58:00 +231,u20,1704452280,2,77,gggggg,2024-01-05 19:58:00 +232,u20,1704452280,3,36,rrggGGG,2024-01-05 19:58:00 +233,u20,1704452470,0,45,GGggGGG,2024-01-05 20:01:10 +234,u20,1704452470,1,32,rrggrrr,2024-01-05 20:01:10 +235,u20,1704452470,2,77,gggggg,2024-01-05 20:01:10 +236,u20,1704452470,3,36,rrggGGG,2024-01-05 20:01:10 +237,u20,1704452660,0,45,GGggGGG,2024-01-05 20:04:20 +238,u20,1704452660,1,32,rrggrrr,2024-01-05 20:04:20 +239,u20,1704452660,2,77,gggggg,2024-01-05 20:04:20 +240,u20,1704452660,3,36,rrggGGG,2024-01-05 20:04:20 +241,u20,1704452810,0,35,GGggGGG,2024-01-05 20:06:50 +242,u20,1704452810,1,25,rrggrrr,2024-01-05 20:06:50 +243,u20,1704452810,2,60,gggggg,2024-01-05 20:06:50 +244,u20,1704452810,3,28,rrggGGG,2024-01-05 20:06:50 +245,c30,1704451840,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:50:40 +246,c30,1704451840,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:50:40 +247,c30,1704451840,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:50:40 +248,c30,1704451840,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:50:40 +249,c30,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +250,c30,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +251,c30,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +252,c30,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +253,c30,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +254,c30,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +255,c30,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +256,c30,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +257,c30,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +258,c30,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +259,c30,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +260,c30,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +261,c30,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +262,c30,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +263,c30,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +264,c30,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +265,c30,1704452740,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:05:40 +266,c30,1704452740,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:05:40 +267,c30,1704452740,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:05:40 +268,c30,1704452740,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:05:40 +269,u30,1704451840,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:50:40 +270,u30,1704451840,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:50:40 +271,u30,1704451840,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:50:40 +272,u30,1704451840,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:50:40 +273,u30,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +274,u30,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +275,u30,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +276,u30,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +277,u30,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +278,u30,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +279,u30,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +280,u30,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +281,u30,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +282,u30,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +283,u30,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +284,u30,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +285,u30,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +286,u30,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +287,u30,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +288,u30,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +289,u30,1704452740,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:05:40 +290,u30,1704452740,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:05:40 +291,u30,1704452740,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:05:40 +292,u30,1704452740,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:05:40 +293,u31,1704451840,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:50:40 +294,u31,1704451840,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:50:40 +295,u31,1704451840,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:50:40 +296,u31,1704451840,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:50:40 +297,u31,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +298,u31,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +299,u31,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +300,u31,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +301,u31,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +302,u31,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +303,u31,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +304,u31,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +305,u31,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +306,u31,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +307,u31,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +308,u31,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +309,u31,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +310,u31,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +311,u31,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +312,u31,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +313,u31,1704452740,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:05:40 +314,u31,1704452740,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:05:40 +315,u31,1704452740,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:05:40 +316,u31,1704452740,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:05:40 +317,u32,1704451840,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:50:40 +318,u32,1704451840,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:50:40 +319,u32,1704451840,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:50:40 +320,u32,1704451840,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:50:40 +321,u32,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +322,u32,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +323,u32,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +324,u32,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +325,u32,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +326,u32,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +327,u32,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +328,u32,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +329,u32,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +330,u32,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +331,u32,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +332,u32,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +333,u32,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +334,u32,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +335,u32,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +336,u32,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +337,u32,1704452740,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:05:40 +338,u32,1704452740,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:05:40 +339,u32,1704452740,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:05:40 +340,u32,1704452740,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:05:40 +341,u60,1704451960,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:52:40 +342,u60,1704451960,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:52:40 +343,u60,1704451960,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:52:40 +344,u60,1704451960,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:52:40 +345,u60,1704451960,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:52:40 +346,u60,1704452150,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:55:50 +347,u60,1704452150,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:55:50 +348,u60,1704452150,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:55:50 +349,u60,1704452150,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:55:50 +350,u60,1704452150,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:55:50 +351,u60,1704452340,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:59:00 +352,u60,1704452340,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:59:00 +353,u60,1704452340,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:59:00 +354,u60,1704452340,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:59:00 +355,u60,1704452340,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:59:00 +356,u60,1704452530,0,43,grrrgGGGrgrrgrrr,2024-01-05 20:02:10 +357,u60,1704452530,1,0,grrrgGGGrgrrgGGr,2024-01-05 20:02:10 +358,u60,1704452530,2,47,grrrgrrrrgrrgGGG,2024-01-05 20:02:10 +359,u60,1704452530,3,75,gGGGgrrrrgrrgrrr,2024-01-05 20:02:10 +360,u60,1704452530,4,25,grrrgrrrrgGGgrrr,2024-01-05 20:02:10 +361,u60,1704452720,0,43,grrrgGGGrgrrgrrr,2024-01-05 20:05:20 +362,u60,1704452720,1,0,grrrgGGGrgrrgGGr,2024-01-05 20:05:20 +363,u60,1704452720,2,47,grrrgrrrrgrrgGGG,2024-01-05 20:05:20 +364,u60,1704452720,3,75,gGGGgrrrrgrrgrrr,2024-01-05 20:05:20 +365,u60,1704452720,4,25,grrrgrrrrgGGgrrr,2024-01-05 20:05:20 diff --git a/Analysis/0213_unit_test/ssigtable.csv b/Analysis/0213_unit_test/ssigtable.csv new file mode 100644 index 000000000..90680c5ab --- /dev/null +++ b/Analysis/0213_unit_test/ssigtable.csv @@ -0,0 +1,239 @@ +,node_id,start_unix,phase_sumo,duration,state,start_dt +249,c30,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +250,c30,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +251,c30,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +252,c30,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +253,c30,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +254,c30,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +255,c30,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +256,c30,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +257,c30,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +258,c30,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +259,c30,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +260,c30,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +261,c30,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +262,c30,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +263,c30,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +264,c30,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +5,i0,1704452080,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:54:40 +6,i0,1704452080,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:54:40 +7,i0,1704452080,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:54:40 +8,i0,1704452080,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:54:40 +9,i0,1704452080,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:54:40 +10,i0,1704452270,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:57:50 +11,i0,1704452270,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:57:50 +12,i0,1704452270,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:57:50 +13,i0,1704452270,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:57:50 +14,i0,1704452270,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:57:50 +15,i0,1704452460,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 20:01:00 +16,i0,1704452460,1,48,grrGgrrrgrrrrGgrr,2024-01-05 20:01:00 +17,i0,1704452460,2,55,grrrgGGGgrrrrrgrr,2024-01-05 20:01:00 +18,i0,1704452460,3,0,grrrgGGrgrrrrrgGr,2024-01-05 20:01:00 +19,i0,1704452460,4,41,grrrgrrrgrrrrrgGG,2024-01-05 20:01:00 +33,i1,1704452080,0,37,gGGGGGrgrr,2024-01-05 19:54:40 +34,i1,1704452080,1,113,grrGGGGgrr,2024-01-05 19:54:40 +35,i1,1704452080,2,40,grrrrrrgGG,2024-01-05 19:54:40 +36,i1,1704452270,0,37,gGGGGGrgrr,2024-01-05 19:57:50 +37,i1,1704452270,1,113,grrGGGGgrr,2024-01-05 19:57:50 +38,i1,1704452270,2,40,grrrrrrgGG,2024-01-05 19:57:50 +39,i1,1704452460,0,37,gGGGGGrgrr,2024-01-05 20:01:00 +40,i1,1704452460,1,113,grrGGGGgrr,2024-01-05 20:01:00 +41,i1,1704452460,2,40,grrrrrrgGG,2024-01-05 20:01:00 +42,i1,1704452650,0,37,gGGGGGrgrr,2024-01-05 20:04:10 +43,i1,1704452650,1,113,grrGGGGgrr,2024-01-05 20:04:10 +44,i1,1704452650,2,40,grrrrrrgGG,2024-01-05 20:04:10 +52,i2,1704452090,0,45,GGggGGG,2024-01-05 19:54:50 +53,i2,1704452090,1,32,rrggrrr,2024-01-05 19:54:50 +54,i2,1704452090,2,77,rrggrrr,2024-01-05 19:54:50 +55,i2,1704452090,3,36,rrggGGG,2024-01-05 19:54:50 +56,i2,1704452280,0,45,GGggGGG,2024-01-05 19:58:00 +57,i2,1704452280,1,32,rrggrrr,2024-01-05 19:58:00 +58,i2,1704452280,2,77,rrggrrr,2024-01-05 19:58:00 +59,i2,1704452280,3,36,rrggGGG,2024-01-05 19:58:00 +60,i2,1704452470,0,45,GGggGGG,2024-01-05 20:01:10 +61,i2,1704452470,1,32,rrggrrr,2024-01-05 20:01:10 +62,i2,1704452470,2,77,rrggrrr,2024-01-05 20:01:10 +63,i2,1704452470,3,36,rrggGGG,2024-01-05 20:01:10 +64,i2,1704452660,0,45,GGggGGG,2024-01-05 20:04:20 +65,i2,1704452660,1,32,rrggrrr,2024-01-05 20:04:20 +66,i2,1704452660,2,77,rrggrrr,2024-01-05 20:04:20 +67,i2,1704452660,3,36,rrggGGG,2024-01-05 20:04:20 +76,i3,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +77,i3,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +78,i3,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +79,i3,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +80,i3,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +81,i3,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +82,i3,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +83,i3,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +84,i3,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +85,i3,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +86,i3,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +87,i3,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +88,i3,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +89,i3,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +90,i3,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +91,i3,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +166,i6,1704451960,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:52:40 +167,i6,1704451960,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:52:40 +168,i6,1704451960,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:52:40 +169,i6,1704451960,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:52:40 +170,i6,1704451960,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:52:40 +171,i6,1704452150,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:55:50 +172,i6,1704452150,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:55:50 +173,i6,1704452150,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:55:50 +174,i6,1704452150,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:55:50 +175,i6,1704452150,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:55:50 +176,i6,1704452340,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:59:00 +177,i6,1704452340,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:59:00 +178,i6,1704452340,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:59:00 +179,i6,1704452340,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:59:00 +180,i6,1704452340,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:59:00 +181,i6,1704452530,0,43,grrrgGGGrgrrgrrr,2024-01-05 20:02:10 +182,i6,1704452530,1,0,grrrgGGGrgrrgGGr,2024-01-05 20:02:10 +183,i6,1704452530,2,47,grrrgrrrrgrrgGGG,2024-01-05 20:02:10 +184,i6,1704452530,3,75,gGGGgrrrrgrrgrrr,2024-01-05 20:02:10 +185,i6,1704452530,4,25,grrrgrrrrgGGgrrr,2024-01-05 20:02:10 +142,i7,1704452050,0,46,GGrggGG,2024-01-05 19:54:10 +143,i7,1704452050,1,62,rrrggrr,2024-01-05 19:54:10 +144,i7,1704452050,2,26,GGrggGG,2024-01-05 19:54:10 +145,i7,1704452050,3,26,rrrggrr,2024-01-05 19:54:10 +146,i7,1704452210,0,46,GGrggGG,2024-01-05 19:56:50 +147,i7,1704452210,1,62,rrrggrr,2024-01-05 19:56:50 +148,i7,1704452210,2,26,GGrggGG,2024-01-05 19:56:50 +149,i7,1704452210,3,26,rrrggrr,2024-01-05 19:56:50 +150,i7,1704452370,0,46,GGrggGG,2024-01-05 19:59:30 +151,i7,1704452370,1,62,rrrggrr,2024-01-05 19:59:30 +152,i7,1704452370,2,26,GGrggGG,2024-01-05 19:59:30 +153,i7,1704452370,3,26,rrrggrr,2024-01-05 19:59:30 +154,i7,1704452530,0,46,GGrggGG,2024-01-05 20:02:10 +155,i7,1704452530,1,62,rrrggrr,2024-01-05 20:02:10 +156,i7,1704452530,2,26,GGrggGG,2024-01-05 20:02:10 +157,i7,1704452530,3,26,rrrggrr,2024-01-05 20:02:10 +96,i8,1704451940,0,36,grrrrrrrgGGGgrrr,2024-01-05 19:52:20 +97,i8,1704451940,1,50,grrrrrrrgrrrgGGG,2024-01-05 19:52:20 +98,i8,1704451940,2,18,grrrGGGrgrrrgGGr,2024-01-05 19:52:20 +99,i8,1704451940,3,58,grrrGGGGgrrrgrrr,2024-01-05 19:52:20 +100,i8,1704451940,4,18,gGGGrrrrgrrrgrrr,2024-01-05 19:52:20 +101,i8,1704452120,0,36,grrrrrrrgGGGgrrr,2024-01-05 19:55:20 +102,i8,1704452120,1,50,grrrrrrrgrrrgGGG,2024-01-05 19:55:20 +103,i8,1704452120,2,18,grrrGGGrgrrrgGGr,2024-01-05 19:55:20 +104,i8,1704452120,3,58,grrrGGGGgrrrgrrr,2024-01-05 19:55:20 +105,i8,1704452120,4,18,gGGGrrrrgrrrgrrr,2024-01-05 19:55:20 +106,i8,1704452300,0,36,grrrrrrrgGGGgrrr,2024-01-05 19:58:20 +107,i8,1704452300,1,50,grrrrrrrgrrrgGGG,2024-01-05 19:58:20 +108,i8,1704452300,2,18,grrrGGGrgrrrgGGr,2024-01-05 19:58:20 +109,i8,1704452300,3,58,grrrGGGGgrrrgrrr,2024-01-05 19:58:20 +110,i8,1704452300,4,18,gGGGrrrrgrrrgrrr,2024-01-05 19:58:20 +111,i8,1704452480,0,36,grrrrrrrgGGGgrrr,2024-01-05 20:01:20 +112,i8,1704452480,1,50,grrrrrrrgrrrgGGG,2024-01-05 20:01:20 +113,i8,1704452480,2,18,grrrGGGrgrrrgGGr,2024-01-05 20:01:20 +114,i8,1704452480,3,58,grrrGGGGgrrrgrrr,2024-01-05 20:01:20 +115,i8,1704452480,4,18,gGGGrrrrgrrrgrrr,2024-01-05 20:01:20 +126,i9,1704451970,0,48,GGGG,2024-01-05 19:52:50 +127,i9,1704451970,1,122,rrrr,2024-01-05 19:52:50 +128,i9,1704452140,0,48,GGGG,2024-01-05 19:55:40 +129,i9,1704452140,1,122,rrrr,2024-01-05 19:55:40 +130,i9,1704452310,0,48,GGGG,2024-01-05 19:58:30 +131,i9,1704452310,1,122,rrrr,2024-01-05 19:58:30 +132,i9,1704452480,0,48,GGGG,2024-01-05 20:01:20 +133,i9,1704452480,1,122,rrrr,2024-01-05 20:01:20 +196,u00,1704452080,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:54:40 +197,u00,1704452080,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:54:40 +198,u00,1704452080,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:54:40 +199,u00,1704452080,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:54:40 +200,u00,1704452080,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:54:40 +201,u00,1704452270,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 19:57:50 +202,u00,1704452270,1,48,grrGgrrrgrrrrGgrr,2024-01-05 19:57:50 +203,u00,1704452270,2,55,grrrgGGGgrrrrrgrr,2024-01-05 19:57:50 +204,u00,1704452270,3,0,grrrgGGrgrrrrrgGr,2024-01-05 19:57:50 +205,u00,1704452270,4,41,grrrgrrrgrrrrrgGG,2024-01-05 19:57:50 +206,u00,1704452460,0,46,gGGrgrrrgGGGGrgrr,2024-01-05 20:01:00 +207,u00,1704452460,1,48,grrGgrrrgrrrrGgrr,2024-01-05 20:01:00 +208,u00,1704452460,2,55,grrrgGGGgrrrrrgrr,2024-01-05 20:01:00 +209,u00,1704452460,3,0,grrrgGGrgrrrrrgGr,2024-01-05 20:01:00 +210,u00,1704452460,4,41,grrrgrrrgrrrrrgGG,2024-01-05 20:01:00 +225,u20,1704452090,0,45,GGggGGG,2024-01-05 19:54:50 +226,u20,1704452090,1,32,rrggrrr,2024-01-05 19:54:50 +227,u20,1704452090,2,77,gggggg,2024-01-05 19:54:50 +228,u20,1704452090,3,36,rrggGGG,2024-01-05 19:54:50 +229,u20,1704452280,0,45,GGggGGG,2024-01-05 19:58:00 +230,u20,1704452280,1,32,rrggrrr,2024-01-05 19:58:00 +231,u20,1704452280,2,77,gggggg,2024-01-05 19:58:00 +232,u20,1704452280,3,36,rrggGGG,2024-01-05 19:58:00 +233,u20,1704452470,0,45,GGggGGG,2024-01-05 20:01:10 +234,u20,1704452470,1,32,rrggrrr,2024-01-05 20:01:10 +235,u20,1704452470,2,77,gggggg,2024-01-05 20:01:10 +236,u20,1704452470,3,36,rrggGGG,2024-01-05 20:01:10 +237,u20,1704452660,0,45,GGggGGG,2024-01-05 20:04:20 +238,u20,1704452660,1,32,rrggrrr,2024-01-05 20:04:20 +239,u20,1704452660,2,77,gggggg,2024-01-05 20:04:20 +240,u20,1704452660,3,36,rrggGGG,2024-01-05 20:04:20 +273,u30,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +274,u30,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +275,u30,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +276,u30,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +277,u30,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +278,u30,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +279,u30,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +280,u30,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +281,u30,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +282,u30,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +283,u30,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +284,u30,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +285,u30,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +286,u30,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +287,u30,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +288,u30,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +297,u31,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +298,u31,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +299,u31,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +300,u31,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +301,u31,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +302,u31,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +303,u31,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +304,u31,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +305,u31,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +306,u31,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +307,u31,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +308,u31,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +309,u31,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +310,u31,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +311,u31,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +312,u31,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +321,u32,1704452020,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:53:40 +322,u32,1704452020,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:53:40 +323,u32,1704452020,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:53:40 +324,u32,1704452020,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:53:40 +325,u32,1704452200,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:56:40 +326,u32,1704452200,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:56:40 +327,u32,1704452200,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:56:40 +328,u32,1704452200,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:56:40 +329,u32,1704452380,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 19:59:40 +330,u32,1704452380,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 19:59:40 +331,u32,1704452380,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 19:59:40 +332,u32,1704452380,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 19:59:40 +333,u32,1704452560,0,38,gGGGrgrrrrgGGGrgrrrr,2024-01-05 20:02:40 +334,u32,1704452560,1,39,grrrGgrrrrgrrrGgrrrr,2024-01-05 20:02:40 +335,u32,1704452560,2,44,grrrrgrrrrgrrrrgGGGG,2024-01-05 20:02:40 +336,u32,1704452560,3,59,grrrrgGGGGgrrrrgrrrr,2024-01-05 20:02:40 +341,u60,1704451960,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:52:40 +342,u60,1704451960,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:52:40 +343,u60,1704451960,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:52:40 +344,u60,1704451960,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:52:40 +345,u60,1704451960,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:52:40 +346,u60,1704452150,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:55:50 +347,u60,1704452150,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:55:50 +348,u60,1704452150,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:55:50 +349,u60,1704452150,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:55:50 +350,u60,1704452150,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:55:50 +351,u60,1704452340,0,43,grrrgGGGrgrrgrrr,2024-01-05 19:59:00 +352,u60,1704452340,1,0,grrrgGGGrgrrgGGr,2024-01-05 19:59:00 +353,u60,1704452340,2,47,grrrgrrrrgrrgGGG,2024-01-05 19:59:00 +354,u60,1704452340,3,75,gGGGgrrrrgrrgrrr,2024-01-05 19:59:00 +355,u60,1704452340,4,25,grrrgrrrrgGGgrrr,2024-01-05 19:59:00 +356,u60,1704452530,0,43,grrrgGGGrgrrgrrr,2024-01-05 20:02:10 +357,u60,1704452530,1,0,grrrgGGGrgrrgGGr,2024-01-05 20:02:10 +358,u60,1704452530,2,47,grrrgrrrrgrrgGGG,2024-01-05 20:02:10 +359,u60,1704452530,3,75,gGGGgrrrrgrrgrrr,2024-01-05 20:02:10 +360,u60,1704452530,4,25,grrrgrrrrgGGgrrr,2024-01-05 20:02:10 diff --git a/Documents/1127_table_definition/table_definition_v0.8.4.xlsx b/Documents/1127_table_definition/table_definition_v0.8.4.xlsx index c493d9f2f..e537b8beb 100644 Binary files a/Documents/1127_table_definition/table_definition_v0.8.4.xlsx and b/Documents/1127_table_definition/table_definition_v0.8.4.xlsx differ diff --git a/Documents/김선중_신호생성(240206).pptx b/Documents/daily_task/김선중_신호생성(240206).pptx similarity index 100% rename from Documents/김선중_신호생성(240206).pptx rename to Documents/daily_task/김선중_신호생성(240206).pptx diff --git a/Documents/김선중_신호생성(240207).pptx b/Documents/daily_task/김선중_신호생성(240207).pptx similarity index 100% rename from Documents/김선중_신호생성(240207).pptx rename to Documents/daily_task/김선중_신호생성(240207).pptx diff --git a/Documents/daily_task/김선중_신호생성(240208).pptx b/Documents/daily_task/김선중_신호생성(240208).pptx new file mode 100644 index 000000000..73614b313 Binary files /dev/null and b/Documents/daily_task/김선중_신호생성(240208).pptx differ diff --git a/Results/sn_1704412800.add.xml b/Results/sn_1704412800.add.xml new file mode 100644 index 000000000..1e5d986d1 --- /dev/null +++ b/Results/sn_1704412800.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704413400.add.xml b/Results/sn_1704413400.add.xml new file mode 100644 index 000000000..4b743b688 --- /dev/null +++ b/Results/sn_1704413400.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704413700.add.xml b/Results/sn_1704413700.add.xml new file mode 100644 index 000000000..867f11530 --- /dev/null +++ b/Results/sn_1704413700.add.xml @@ -0,0 +1,656 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704415800.add.xml b/Results/sn_1704415800.add.xml new file mode 100644 index 000000000..9530c493f --- /dev/null +++ b/Results/sn_1704415800.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704416100.add.xml b/Results/sn_1704416100.add.xml new file mode 100644 index 000000000..7e4c9166e --- /dev/null +++ b/Results/sn_1704416100.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704418500.add.xml b/Results/sn_1704418500.add.xml new file mode 100644 index 000000000..ad6003d76 --- /dev/null +++ b/Results/sn_1704418500.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704419100.add.xml b/Results/sn_1704419100.add.xml new file mode 100644 index 000000000..a9f8b33e9 --- /dev/null +++ b/Results/sn_1704419100.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704419400.add.xml b/Results/sn_1704419400.add.xml new file mode 100644 index 000000000..dea9a2222 --- /dev/null +++ b/Results/sn_1704419400.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704427800.add.xml b/Results/sn_1704427800.add.xml new file mode 100644 index 000000000..054e55ae7 --- /dev/null +++ b/Results/sn_1704427800.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704429900.add.xml b/Results/sn_1704429900.add.xml new file mode 100644 index 000000000..41dc5abaa --- /dev/null +++ b/Results/sn_1704429900.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704430200.add.xml b/Results/sn_1704430200.add.xml new file mode 100644 index 000000000..d4239600a --- /dev/null +++ b/Results/sn_1704430200.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704430500.add.xml b/Results/sn_1704430500.add.xml new file mode 100644 index 000000000..6a42b93f6 --- /dev/null +++ b/Results/sn_1704430500.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704434700.add.xml b/Results/sn_1704434700.add.xml new file mode 100644 index 000000000..f7b187fcb --- /dev/null +++ b/Results/sn_1704434700.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704435300.add.xml b/Results/sn_1704435300.add.xml new file mode 100644 index 000000000..b877de02d --- /dev/null +++ b/Results/sn_1704435300.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704435600.add.xml b/Results/sn_1704435600.add.xml new file mode 100644 index 000000000..d12ba0e8b --- /dev/null +++ b/Results/sn_1704435600.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704435900.add.xml b/Results/sn_1704435900.add.xml new file mode 100644 index 000000000..7e97d57c1 --- /dev/null +++ b/Results/sn_1704435900.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704436200.add.xml b/Results/sn_1704436200.add.xml new file mode 100644 index 000000000..854070bd1 --- /dev/null +++ b/Results/sn_1704436200.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704436800.add.xml b/Results/sn_1704436800.add.xml new file mode 100644 index 000000000..37c0427ee --- /dev/null +++ b/Results/sn_1704436800.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704438000.add.xml b/Results/sn_1704438000.add.xml new file mode 100644 index 000000000..e41358cb7 --- /dev/null +++ b/Results/sn_1704438000.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704438900.add.xml b/Results/sn_1704438900.add.xml new file mode 100644 index 000000000..dbd596f42 --- /dev/null +++ b/Results/sn_1704438900.add.xml @@ -0,0 +1,713 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704439200.add.xml b/Results/sn_1704439200.add.xml new file mode 100644 index 000000000..7ae0e67a2 --- /dev/null +++ b/Results/sn_1704439200.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704439500.add.xml b/Results/sn_1704439500.add.xml new file mode 100644 index 000000000..01c9ea0cb --- /dev/null +++ b/Results/sn_1704439500.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704440400.add.xml b/Results/sn_1704440400.add.xml new file mode 100644 index 000000000..7fe52b7ef --- /dev/null +++ b/Results/sn_1704440400.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704440700.add.xml b/Results/sn_1704440700.add.xml index 6716637ee..a2f24171a 100644 --- a/Results/sn_1704440700.add.xml +++ b/Results/sn_1704440700.add.xml @@ -1,716 +1,716 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704441000.add.xml b/Results/sn_1704441000.add.xml index 9e2023495..0ceb377ec 100644 --- a/Results/sn_1704441000.add.xml +++ b/Results/sn_1704441000.add.xml @@ -1,713 +1,713 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704441300.add.xml b/Results/sn_1704441300.add.xml index 878f31c3d..c129b0a3b 100644 --- a/Results/sn_1704441300.add.xml +++ b/Results/sn_1704441300.add.xml @@ -1,716 +1,716 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704441600.add.xml b/Results/sn_1704441600.add.xml new file mode 100644 index 000000000..85746bb19 --- /dev/null +++ b/Results/sn_1704441600.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704444900.add.xml b/Results/sn_1704444900.add.xml new file mode 100644 index 000000000..43a06377a --- /dev/null +++ b/Results/sn_1704444900.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704445500.add.xml b/Results/sn_1704445500.add.xml new file mode 100644 index 000000000..f9f019af7 --- /dev/null +++ b/Results/sn_1704445500.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704446100.add.xml b/Results/sn_1704446100.add.xml new file mode 100644 index 000000000..2b050c206 --- /dev/null +++ b/Results/sn_1704446100.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704446400.add.xml b/Results/sn_1704446400.add.xml index 2f390a6bf..8bd8453b2 100644 --- a/Results/sn_1704446400.add.xml +++ b/Results/sn_1704446400.add.xml @@ -1,716 +1,716 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704446700.add.xml b/Results/sn_1704446700.add.xml new file mode 100644 index 000000000..784d72388 --- /dev/null +++ b/Results/sn_1704446700.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704447600.add.xml b/Results/sn_1704447600.add.xml new file mode 100644 index 000000000..d9d23e605 --- /dev/null +++ b/Results/sn_1704447600.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704447900.add.xml b/Results/sn_1704447900.add.xml new file mode 100644 index 000000000..f1475550d --- /dev/null +++ b/Results/sn_1704447900.add.xml @@ -0,0 +1,713 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704448200.add.xml b/Results/sn_1704448200.add.xml new file mode 100644 index 000000000..8c26b677d --- /dev/null +++ b/Results/sn_1704448200.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704450900.add.xml b/Results/sn_1704450900.add.xml new file mode 100644 index 000000000..b81293785 --- /dev/null +++ b/Results/sn_1704450900.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704451500.add.xml b/Results/sn_1704451500.add.xml new file mode 100644 index 000000000..d5499287a --- /dev/null +++ b/Results/sn_1704451500.add.xml @@ -0,0 +1,713 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704452100.add.xml b/Results/sn_1704452100.add.xml new file mode 100644 index 000000000..73bdb5459 --- /dev/null +++ b/Results/sn_1704452100.add.xml @@ -0,0 +1,716 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Results/sn_1704452400.add.xml b/Results/sn_1704452400.add.xml index 627e48de3..fd0d15daf 100644 --- a/Results/sn_1704452400.add.xml +++ b/Results/sn_1704452400.add.xml @@ -1,716 +1,716 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Scripts/__pycache__/generate_signals.cpython-38.pyc b/Scripts/__pycache__/generate_signals.cpython-38.pyc index 798dc84f6..ee6ec4b4e 100644 Binary files a/Scripts/__pycache__/generate_signals.cpython-38.pyc and b/Scripts/__pycache__/generate_signals.cpython-38.pyc differ diff --git a/Scripts/__pycache__/preprocess_daily.cpython-38.pyc b/Scripts/__pycache__/preprocess_daily.cpython-38.pyc index 6694b8dc9..42188ddd7 100644 Binary files a/Scripts/__pycache__/preprocess_daily.cpython-38.pyc and b/Scripts/__pycache__/preprocess_daily.cpython-38.pyc differ diff --git a/Scripts/generate_signals.py b/Scripts/generate_signals.py index b3285dd38..7b05a24fb 100644 --- a/Scripts/generate_signals.py +++ b/Scripts/generate_signals.py @@ -31,11 +31,11 @@ class SignalGenerator(): self.fsecs = range(self.midnight, self.next_day, 5) # fsecs : unix time by Five SECondS self.fmins = range(self.midnight, self.next_day, 300) # fmins : unix time by Five MINuteS - self.present_time = datetime.now().replace(month=1, day=5).timestamp() + self.present_time = datetime.now().replace(month=1, day=5, hour=10).timestamp() self.present_time = max([fmin for fmin in list(self.fmins) if fmin <= self.present_time]) self.adder = 600 - self.substractor = 1200 + self.subtractor = 1800 # 1. 데이터 준비 def prepare_data(self): @@ -74,13 +74,15 @@ class SignalGenerator(): # 테이블 불러오기 self.inter_info = pd.read_csv(os.path.join(self.path_tables, 'inter_info.csv'), dtype=loading_dtype) self.plan = pd.read_csv(os.path.join(self.path_tables, 'plan.csv'), dtype=loading_dtype) - self.history = pd.read_csv(os.path.join(self.path_tables, 'history.csv'), dtype=loading_dtype) + self.history = pd.read_csv(os.path.join(self.path_tables, 'history.csv'), dtype=loading_dtype).sort_values(by='end_unix') self.inter_node = pd.read_csv(os.path.join(self.path_tables, 'inter_node.csv'), dtype=loading_dtype) self.matching = pd.read_csv(os.path.join(self.path_intermediates, 'matching.csv'), dtype=loading_dtype) self.match1 = pd.read_csv(os.path.join(self.path_intermediates, 'match1.csv'), dtype=loading_dtype) self.match6 = pd.read_csv(os.path.join(self.path_intermediates, 'match6.csv'), dtype=loading_dtype) self.match6 = self.match6[['node_id', 'phase_no', 'ring_type', 'inc_edge', 'out_edge']].reset_index(drop=True) + self.plan_set = self.plan.set_index(['inter_no','start_hour','start_minute']) + # 교차로목록 정의 self.inter_nos = sorted(self.inter_info.inter_no.unique()) print("1-2. 테이블들이 로드되었습니다.") @@ -147,9 +149,6 @@ class SignalGenerator(): self.inter2node = dict(zip(inter_node_p['inter_no'], inter_node_p['node_id'])) self.node2inter = dict(zip(self.inter_node['node_id'], self.inter_node['inter_no'])) - # # hours : 정각에 해당하는 시각들 목록 - # self.hours = np.array(range(self.midnight - 7200, self.next_day + 1, 3600)) - # split, isplit : A,B 분리 혹은 통합시 사용될 수 있는 딕셔너리 self.splits = {} # splits maps (inter_no, start_hour, start_minute) to split for i, row in self.plan.iterrows(): @@ -157,18 +156,27 @@ class SignalGenerator(): start_hour = row.start_hour start_minute = row.start_minute cycle = row.cycle - cums_A = row[[f'dura_A{j}' for j in range(1,9)]].cumsum() - cums_B = row[[f'dura_B{j}' for j in range(1,9)]].cumsum() + + dura_A = np.array(row[[f'dura_A{j}' for j in range(1, 9)]]) + dura_B = np.array(row[[f'dura_B{j}' for j in range(1, 9)]]) + + cums_A = dura_A.cumsum() + cums_B = dura_B.cumsum() + combined_row = np.unique(np.concatenate((cums_A,cums_B))) + detailed_durations = np.concatenate(([combined_row[0]], np.diff(combined_row))) + self.splits[(inter_no, start_hour, start_minute)] = {} # split maps (phas_A, phas_B) to k - k = 0 - for t in range(cycle): - new_phas_A = len(cums_A[cums_A < t]) + 1 - new_phas_B = len(cums_B[cums_B < t]) + 1 - if k == 0 or ((new_phas_A, new_phas_B) != (phas_A, phas_B)): - k += 1 - phas_A = new_phas_A - phas_B = new_phas_B - self.splits[(inter_no, start_hour, start_minute)][(phas_A, phas_B)] = k + ja = 0 + jb = 0 + for k in range(len(detailed_durations)): + dura_A[ja] -= detailed_durations[k] + dura_B[jb] -= detailed_durations[k] + self.splits[(inter_no, start_hour, start_minute)][(ja+1, jb+1)] = k+1 + if dura_A[ja] == 0: + ja += 1 + if dura_B[jb] == 0: + jb += 1 + self.isplits = {} # the inverse of splits for i in self.splits: self.isplits[i] = {self.splits[i][k]:k for k in self.splits[i]} # isplit maps k to (phas_A, phas_B) @@ -202,29 +210,30 @@ class SignalGenerator(): def make_rhistory(self): # 1. 조회시점의 유닉스 타임 이전의 신호이력 수집 self.rhistory = self.history.copy() # recent history - self.rhistory = self.rhistory[(self.rhistory.end_unix <= self.present_time) & (self.rhistory.end_unix > self.present_time - self.substractor)] # 두 시간 반 전부터 현재까지의 신호이력을 가져옴. 9000 = 3600 * 2.5 + self.rhistory = self.rhistory[(self.rhistory.end_unix <= self.present_time) & (self.rhistory.end_unix > self.present_time - self.subtractor)] # 두 시간 반 전부터 현재까지의 신호이력을 가져옴. 9000 = 3600 * 2.5 # rhistory에 모든 교차로번호가 존재하지 않으면 해당 교차로번호에 대한 신호이력을 추가함 (at 최근 프로그램 시작시각) - whole_inter_nos = sorted(self.history.inter_no.unique()) - recent_inter_nos = sorted(self.rhistory.inter_no.unique()) + whole_inter_nos = set(self.history.inter_no.unique()) + recent_inter_nos = set(self.rhistory.inter_no.unique()) if not whole_inter_nos==recent_inter_nos: - for inter_no in set(whole_inter_nos) - set(recent_inter_nos): - program_start, prow = self.load_prow(inter_no, self.present_time - self.substractor) + for inter_no in whole_inter_nos - recent_inter_nos: + program_start, prow = self.load_prow(inter_no, self.present_time - self.subtractor) cycle = prow.cycle.iloc[0] - row1 = prow.drop(['start_hour', 'start_minute'], axis=1).copy() - row2 = prow.drop(['start_hour', 'start_minute'], axis=1).copy() + row1 = prow.copy() + row2 = prow.copy() # prow에서 필요한 부분을 rhistory에 추가 row1['end_unix'] = program_start row2['end_unix'] = program_start + cycle - self.rhistory = pd.concat([self.rhistory, row1, row2]).reset_index(drop=True) + self.rhistory = pd.concat([self.rhistory, row1, row2])#.reset_index(drop=True) + # present_time + adder 의 시각에 한 주기의 신호 추가 for inter_no in set(whole_inter_nos): program_start, prow = self.load_prow(inter_no, self.present_time) cycle = prow.cycle.iloc[0] - row3 = prow.drop(['start_hour', 'start_minute'], axis=1).copy() + row3 = prow.copy() # prow에서 필요한 부분을 rhistory에 추가 row3['end_unix'] = self.present_time + self.adder - self.rhistory = pd.concat([self.rhistory, row3]).reset_index(drop=True) + self.rhistory = pd.concat([self.rhistory, row3])#.reset_index(drop=True) # 2. 시작 유닉스 타임컬럼 생성 후 종류 유닉스 타임에서 현시별 현시기간 컬럼의 합을 뺀 값으로 입력 # - 현시시간의 합을 뺀 시간의 +- 10초 이내에 이전 주기정보가 존재하면 그 유닉스 시간을 시작 유닉스시간 값으로 하고, 존재하지 않으면 현시시간의 합을 뺀 유닉스 시간을 시작 유닉스 시간으로 지정 @@ -260,13 +269,17 @@ class SignalGenerator(): # 최근 프로그램 시작시각에 대한 신호계획 start_hour = self.timetable.iloc[idx].start_hour start_minute = self.timetable.iloc[idx].start_minute - prow = self.plan[(self.plan.inter_no==inter_no) & (self.plan.start_hour==start_hour) & (self.plan.start_minute==start_minute)] # planned row + # prow = self.plan[(self.plan.inter_no==inter_no) & (self.plan.start_hour==start_hour) & (self.plan.start_minute==start_minute)] # planned row + prow = self.plan_set.loc[(inter_no, start_hour, start_minute)] + prow = pd.DataFrame([prow],index=[0]) + prow['inter_no'] = inter_no + return program_start, prow # 2-2. rhists def make_rhists(self): self.rhists = [] - for inter_no in sorted(self.rhistory.inter_no.unique()): + for inter_no in self.rhistory.inter_no.unique(): filtered_rhist = self.rhistory[self.rhistory.inter_no == inter_no].drop_duplicates(subset=['start_unix']).reset_index(drop=True) self.rhist = filtered_rhist @@ -276,7 +289,6 @@ class SignalGenerator(): for n in range(len(self.rhist)): curr_unix = self.rhist.iloc[n].start_unix # current start_unix self.rhist.loc[n, ['D_n', 'S_n']] = self.calculate_DS(self.rhist, curr_unix) - # 이전시각, 현재시각 prev_unix = self.rhist.loc[0, 'start_unix'] # previous start_unix curr_unix = self.rhist.loc[1, 'start_unix'] # current start_unix @@ -303,14 +315,33 @@ class SignalGenerator(): idx = (start_seconds <= prev_unix).sum() - 1 start_hour = self.timetable.iloc[idx].start_hour start_minute = self.timetable.iloc[idx].start_minute - prow = self.plan.copy()[(self.plan.inter_no==inter_no) & (self.plan.start_hour==start_hour) & (self.plan.start_minute==start_minute)] # planned row + + prow = self.plan_set.loc[(inter_no,start_hour,start_minute)] # planned row + # print(type(prow)) + prow = pd.DataFrame([prow],index=[0]) + # new_prow.columns = prow.index + # print(prow) + # cycle = prow.cycle + # print(list(prow.index)) + # print(list(self.rhist.columns)) + # print(type(prow)) + # print(prow.index) + # print(prow.values) + # prow2 = pd.DataFrame(prow.reset_index()) + # prow2.columns = prow.index + # print(type(prow2)) + # print(prow2) + + + # prow = self.plan[(self.plan.inter_no==inter_no) & (self.plan.start_hour==start_hour) & (self.plan.start_minute==start_minute)].copy() # planned row # prow에서 필요한 부분을 rhist에 추가 prow['start_unix'] = prev_unix - prow = prow.drop(['start_hour', 'start_minute', 'offset'], axis=1) + prow['inter_no'] = inter_no + # prow = prow.drop(['start_hour', 'start_minute', 'offset'], axis=1) cycle = prow.iloc[0].cycle self.rhist = pd.concat([self.rhist, prow]) self.rhist = self.rhist.sort_values(by='start_unix').reset_index(drop=True) - n += 1 + # print(self.rhist) # 2-1-2. 이상치 처리 : 비율에 따라 해당 행을 "삭제"(R_n <= 0.5) 또는 "조정"(R_n > 0.5)한다 R_n = (curr_unix - prev_unix) / cycle # R_n : 비율 @@ -330,11 +361,31 @@ class SignalGenerator(): idx = (start_seconds <= curr_unix).sum() - 1 start_hour = self.timetable.iloc[idx].start_hour start_minute = self.timetable.iloc[idx].start_minute - prow = self.plan[(self.plan.inter_no==inter_no) & (self.plan.start_hour==start_hour) & (self.plan.start_minute==start_minute)] # planned row + # prow = self.plan[(self.plan.inter_no==inter_no) & (self.plan.start_hour==start_hour) & (self.plan.start_minute==start_minute)] # planned row + prow = self.plan_set.loc[(inter_no,start_hour,start_minute)] # planned row + # prow = prow.reset_index() # 조정된 현시시간 (prow에 R_n을 곱하고 정수로 바꿈) + # print('prow2') + + # print(prow2.index[0]) + + # print(prow) + # print(prow.columns) adjusted_dur = prow.copy()[[f'dura_{alph}{j}' for alph in ['A', 'B'] for j in range(1,9)]] * R_n - int_parts = adjusted_dur.iloc[0].apply(lambda x: int(x)) - frac_parts = adjusted_dur.iloc[0] - int_parts + + # print(adjusted_index) + + # prow2 = prow2.index[adjusted_index] + + # prow2 = prow2 * R_n + # print(prow2) + # print(adjusted_dur) + + + # int_parts = adjusted_dur.iloc[0].apply(lambda x: int(x)) + # frac_parts = adjusted_dur.iloc[0] - int_parts + int_parts = adjusted_dur.apply(lambda x: int(x)) + frac_parts = adjusted_dur - int_parts difference = round(adjusted_dur.iloc[0].sum()) - int_parts.sum() for _ in range(difference): # 소수 부분이 가장 큰 상위 'difference'개의 값에 대해 올림 처리 max_frac_index = frac_parts.idxmax() @@ -350,14 +401,14 @@ class SignalGenerator(): curr_unix = self.rhist.loc[n+1, 'start_unix'] self.rhists.append(self.rhist) - self.rhists = pd.concat(self.rhists).sort_values(by=['start_unix','inter_no']) - self.rhists = self.rhists[self.rhists.start_unix >= self.present_time - 1200] - self.rhists = self.rhists.drop(columns=['D_n', 'S_n']) + self.rhists = pd.concat(self.rhists)#.sort_values(by=['start_unix','inter_no']) + self.rhists = self.rhists[self.rhists.start_unix >= self.present_time - self.subtractor // 2] + # self.rhists = self.rhists.drop(columns=['D_n', 'S_n']) def calculate_DS(self, rhist, curr_unix): - program_starts = np.array(self.timetable.start_seconds) - idx = (program_starts <= self.present_time).sum() - 1 - program_start = program_starts[idx] + # program_starts = np.array(self.timetable.start_seconds) + # idx = (program_starts <= self.present_time).sum() - 1 + # program_start = program_starts[idx] # if list(self.hours[self.hours <= curr_unix]): # ghour_lt_curr_unix = self.hours[self.hours <= curr_unix].max() # the greatest hour less than or equal to curr_unix # else: @@ -370,14 +421,14 @@ class SignalGenerator(): # # start_unixes_lt_ghour의 길이가 5 미만일 경우에는 맨 앞 start_unix로 base_unix를 지정 # else: # base_unix = rhist.start_unix.min() - base_unix = curr_unix - self.substractor + base_unix = curr_unix - self.subtractor // 2 D_n = curr_unix - base_unix S_n_durs = rhist[(rhist.start_unix > base_unix) & (rhist.start_unix <= curr_unix)] \ [[f'dura_{alph}{j}' for alph in ['A', 'B'] for j in range(1,9)]] S_n = S_n_durs.values.sum() // 2 return D_n, S_n - # 2-2. hrhists + # 2-3. hrhists def make_hrhists(self): # 계층화된 형태로 변환 self.hrhists = [] # hierarchied recent history @@ -394,7 +445,7 @@ class SignalGenerator(): # durs_A = row[[f'dura_A{j}' for j in range(1,9)]] # durs_B = row[[f'dura_B{j}' for j in range(1,9)]] durs_A = [getattr(row, f'dura_A{j}') for j in range(1, 9)] - durs_B = [getattr(row, f'dura_A{j}') for j in range(1, 9)] + durs_B = [getattr(row, f'dura_B{j}') for j in range(1, 9)] durations = [] for j in range(1, len(self.isplit)+1): ja = self.isplit[j][0] @@ -407,7 +458,7 @@ class SignalGenerator(): 'phas_A':phas_As, 'phas_B':phas_Bs, 'duration':durations}) self.hrhists.append(new_rows) self.hrhists = pd.concat(self.hrhists) - self.hrhists = self.hrhists.sort_values(by = ['start_unix', 'inter_no', 'phas_A', 'phas_B']).reset_index(drop=True) + # self.hrhists = self.hrhists.sort_values(by = ['start_unix', 'inter_no', 'phas_A', 'phas_B']).reset_index(drop=True) # 3. 이동류정보 전처리 def process_movement(self): @@ -422,10 +473,11 @@ class SignalGenerator(): # - 아래 절차를 5초마다 반복 for fsec in range(self.present_time - 300, self.present_time + 1, 5): # fsec : unix time by Five SECond # 1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A - # move = time2move[fsec] move = pd.read_csv(os.path.join(self.path_tables, 'move', f'move_{fsec}.csv'), index_col=0) - # 2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로변호, 종료유닉스타임)만 수집 : B + # 2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B recent_histories = [group.iloc[-1:] for _, group in self.history[self.history['end_unix'] < fsec].groupby('inter_no')] # 교차로별로 유닉스시간이 최대인 행들 + + # print([group for _, group in self.history[self.history['end_unix'] < fsec].groupby('inter_no')]) if not recent_histories: rhistory = pd.DataFrame({'inter_no':[], 'end_unix':[]}) # recent history else: @@ -434,7 +486,7 @@ class SignalGenerator(): # 3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C move = pd.merge(move, recent_unix, how='left', on='inter_no') move['end_unix'] = move['end_unix'].fillna(0).astype(int) - move = move.drop_duplicates() + # move = move.drop_duplicates() # 4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거 move = move.rename(columns = {'end_unix':'start_unix'}) # 5. 이동류 이력정보 READ @@ -450,9 +502,9 @@ class SignalGenerator(): movement = pd.concat([movement, move]) # 7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거) movement = movement.drop_duplicates(['inter_no','phas_A','phas_B','start_unix']) - # 8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - 3600을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관) - movement = movement[movement.start_unix > fsec - 3600] - movement = movement.sort_values(by=['start_unix','inter_no','phas_A','phas_B']).reset_index(drop=True) + # 8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관) + movement = movement[movement.start_unix > fsec - self.subtractor // 2] + # movement = movement.sort_values(by=['start_unix','inter_no','phas_A','phas_B']).reset_index(drop=True) self.movement = pd.read_csv(os.path.join(self.path_intermediates, 'movement', f'movement_{self.present_time}.csv'), index_col=0) # 3-2. movement_updated @@ -492,7 +544,7 @@ class SignalGenerator(): def merge_dfs(self): # movements and durations movedur = pd.merge(self.hrhists, self.movement_updated, how='inner', on=['inter_no', 'start_unix', 'phas_A', 'phas_B']) - movedur = movedur.sort_values(by=['start_unix', 'inter_no', 'phas_A','phas_B']) + # movedur = movedur.sort_values(by=['start_unix', 'inter_no', 'phas_A','phas_B']) movedur = movedur[['inter_no', 'start_unix', 'phas_A', 'phas_B', 'move_A', 'move_B', 'duration']] # matching DataFrame에 대해 multi-index 설정 @@ -555,6 +607,7 @@ class SignalGenerator(): - 모든(부모 및 자식) 교차로에 대한 시작유닉스 (시작유닉스, A현시, B현시)별 현시시간, 진입·진출엣지 ''' new_histids = [] + match_set = self.match6.set_index(['phase_no','ring_type','node_id']) for parent_id in self.parent_ids: for child_id in self.pa2ch[parent_id]: new_histid = self.histid.copy()[self.histid.node_id==parent_id] @@ -562,14 +615,13 @@ class SignalGenerator(): for row in new_histid.itertuples(index=True): phas_A = row.phas_A phas_B = row.phas_B - new_match = self.match6[self.match6.node_id==child_id] - Arow = new_match[(new_match.phase_no==phas_A) & (new_match.ring_type=='A')] - if not Arow[['inc_edge', 'out_edge']].isna().all().all(): + Arow = match_set.loc[(phas_A,'A',child_id)] + if (Arow.inc_edge == np.NaN)&(Arow.out_edge==np.NaN): inc_edge = Arow.iloc[0].inc_edge out_edge = Arow.iloc[0].out_edge new_histid.loc[row.Index, ['inc_edge_A', 'out_edge_A']] = [inc_edge, out_edge] - Brow = new_match[(new_match.phase_no==phas_B) & (new_match.ring_type=='B')] - if not Brow[['inc_edge', 'out_edge']].isna().all().all(): + Brow = match_set.loc[(phas_B,'B',child_id)] + if (Brow.inc_edge == np.NaN)&(Brow.out_edge==np.NaN): inc_edge = Brow.iloc[0].inc_edge out_edge = Brow.iloc[0].out_edge new_histid.loc[row.Index, ['inc_edge_B', 'out_edge_B']] = [inc_edge, out_edge] @@ -577,16 +629,21 @@ class SignalGenerator(): new_histids.append(new_histid) new_histids = pd.concat(new_histids) self.histids = pd.concat([self.histid.copy(), new_histids]) - self.histids = self.histids.sort_values(by=['start_unix', 'node_id', 'phas_A', 'phas_B']).reset_index(drop=True) - + # self.histids = self.histids.sort_values(by=['start_unix', 'node_id', 'phas_A', 'phas_B']).reset_index(drop=True) + # 5. 신호 생성 def get_signals(self): print("5. 신호를 생성합니다.") self.initialize_states() + self.time51 = datetime.now() self.assign_signals() + self.time52 = datetime.now() self.set_timepoints() + self.time53 = datetime.now() self.assign_red_yellow() + self.time54 = datetime.now() self.make_tl_file() + self.time55 = datetime.now() # 5-1. 신호초기화 def initialize_states(self): @@ -699,7 +756,7 @@ class SignalGenerator(): self.sigtable = self.sigtable.reset_index(drop=True) self.sigtable['phase_sumo'] = self.sigtable.groupby(['node_id', 'start_unix']).cumcount() self.sigtable = self.sigtable[['node_id', 'start_unix', 'phase_sumo', 'duration', 'state']] - self.sigtable = self.sigtable.sort_values(by=['start_unix', 'node_id']) + # self.sigtable = self.sigtable.sort_values(by=['start_unix', 'node_id']) self.sigtable['start_dt'] = self.sigtable['start_unix'].apply(lambda x:datetime.fromtimestamp(x)) # 5-3. 신호 파일의 시작 및 종료시각 설정 @@ -731,7 +788,7 @@ class SignalGenerator(): * 녹황적세부현시번호란 세부현시번호에 r, g, y 옵션까지 포함된 현시번호를 뜻함. ''' self.SIGTABLE = [] - for node_id, group in self.Sigtable.groupby('node_id'): + for _, group in self.Sigtable.groupby('node_id'): new_rows_list = [] for i in range(1, len(group)): prev_row = group.iloc[i-1:i].copy() @@ -757,11 +814,10 @@ class SignalGenerator(): new_rows_list.append(new_rows) next_row['phase_sumo'] = str(next_row.phase_sumo.iloc[0]) + '_g' next_row['duration'] -= 5 - # next_row.loc['duration'] -= 5 new_rows_list.append(next_row) new_rows = pd.concat(new_rows_list) self.SIGTABLE.append(new_rows) - self.SIGTABLE = pd.concat(self.SIGTABLE).sort_values(by=['node_id', 'start_unix', 'phase_sumo']).reset_index(drop=True) + self.SIGTABLE = pd.concat(self.SIGTABLE).sort_values(by=['node_id', 'start_unix', 'phase_sumo']) # 5-5. 신호파일 생성 def make_tl_file(self): @@ -830,6 +886,11 @@ class SignalGenerator(): print('(4-1)', self.time41 - self.time3) print('(4-2)', self.time42 - self.time41) print('(5)', self.time5 - self.time4) + print('(5-1)', self.time51 - self.time4) + print('(5-2)', self.time52 - self.time51) + print('(5-3)', self.time53 - self.time52) + print('(5-4)', self.time54 - self.time53) + print('(5-5)', self.time55 - self.time54) print('(6)', self.time6 - self.time5) print('total time :', self.time6 - self.time0)