{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"from datetime import datetime\n",
|
|
"import os"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>inter_name</th>\n",
|
|
" <th>inter_lat</th>\n",
|
|
" <th>inter_lon</th>\n",
|
|
" <th>group_no</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>한솔삼거리(한솔마을3거리)</td>\n",
|
|
" <td>37.36857</td>\n",
|
|
" <td>127.11478</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>느티마을4단지</td>\n",
|
|
" <td>37.36724</td>\n",
|
|
" <td>127.11480</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>한솔6단지(정자동사무소)</td>\n",
|
|
" <td>37.36619</td>\n",
|
|
" <td>127.11480</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>신기4거리</td>\n",
|
|
" <td>37.36346</td>\n",
|
|
" <td>127.11480</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>느티마을4거리</td>\n",
|
|
" <td>37.36854</td>\n",
|
|
" <td>127.10984</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>느티마을 안촌유치원</td>\n",
|
|
" <td>37.36855</td>\n",
|
|
" <td>127.11241</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>상록마을 321동</td>\n",
|
|
" <td>37.36483</td>\n",
|
|
" <td>127.10981</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>상록4거리(상록마을입구4거리)</td>\n",
|
|
" <td>37.36347</td>\n",
|
|
" <td>127.10982</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>상록마을단일로</td>\n",
|
|
" <td>37.36346</td>\n",
|
|
" <td>127.11237</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>상록마을302동 단일로</td>\n",
|
|
" <td>37.36347</td>\n",
|
|
" <td>127.11306</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no inter_name inter_lat inter_lon group_no\n",
|
|
"0 175 한솔삼거리(한솔마을3거리) 37.36857 127.11478 3\n",
|
|
"1 176 느티마을4단지 37.36724 127.11480 3\n",
|
|
"2 177 한솔6단지(정자동사무소) 37.36619 127.11480 3\n",
|
|
"3 178 신기4거리 37.36346 127.11480 3\n",
|
|
"4 201 느티마을4거리 37.36854 127.10984 3\n",
|
|
"5 202 느티마을 안촌유치원 37.36855 127.11241 3\n",
|
|
"6 206 상록마을 321동 37.36483 127.10981 3\n",
|
|
"7 210 상록4거리(상록마을입구4거리) 37.36347 127.10982 3\n",
|
|
"8 211 상록마을단일로 37.36346 127.11237 3\n",
|
|
"9 212 상록마을302동 단일로 37.36347 127.11306 3"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 교차로정보\n",
|
|
"inter_info = pd.read_csv(\"inter_info.csv\")\n",
|
|
"inter_info['group_no'] = 3\n",
|
|
"inter_info"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>main_phase</th>\n",
|
|
" <th>mg1A</th>\n",
|
|
" <th>mg1B</th>\n",
|
|
" <th>mg2A</th>\n",
|
|
" <th>mg2B</th>\n",
|
|
" <th>mg3A</th>\n",
|
|
" <th>mg3B</th>\n",
|
|
" <th>mg4A</th>\n",
|
|
" <th>mg4B</th>\n",
|
|
" <th>mg5A</th>\n",
|
|
" <th>mg5B</th>\n",
|
|
" <th>mg6A</th>\n",
|
|
" <th>mg6B</th>\n",
|
|
" <th>mg7A</th>\n",
|
|
" <th>mg7B</th>\n",
|
|
" <th>mg8A</th>\n",
|
|
" <th>mg8B</th>\n",
|
|
" <th>r1A</th>\n",
|
|
" <th>r1B</th>\n",
|
|
" <th>r2A</th>\n",
|
|
" <th>r2B</th>\n",
|
|
" <th>r3A</th>\n",
|
|
" <th>r3B</th>\n",
|
|
" <th>r4A</th>\n",
|
|
" <th>r4B</th>\n",
|
|
" <th>r5A</th>\n",
|
|
" <th>r5B</th>\n",
|
|
" <th>r6A</th>\n",
|
|
" <th>r6B</th>\n",
|
|
" <th>r7A</th>\n",
|
|
" <th>r7B</th>\n",
|
|
" <th>r8A</th>\n",
|
|
" <th>r8B</th>\n",
|
|
" <th>y1A</th>\n",
|
|
" <th>y1B</th>\n",
|
|
" <th>y2A</th>\n",
|
|
" <th>y2B</th>\n",
|
|
" <th>y3A</th>\n",
|
|
" <th>y3B</th>\n",
|
|
" <th>y4A</th>\n",
|
|
" <th>y4B</th>\n",
|
|
" <th>y5A</th>\n",
|
|
" <th>y5B</th>\n",
|
|
" <th>y6A</th>\n",
|
|
" <th>y6B</th>\n",
|
|
" <th>y7A</th>\n",
|
|
" <th>y7B</th>\n",
|
|
" <th>y8A</th>\n",
|
|
" <th>y8B</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>12</td>\n",
|
|
" <td>15</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>15</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>31</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>16</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>35</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>13</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>35</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>32</td>\n",
|
|
" <td>31</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>31</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>12</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>31</td>\n",
|
|
" <td>31</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>12</td>\n",
|
|
" <td>13</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>12</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>32</td>\n",
|
|
" <td>35</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>23</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no main_phase mg1A mg1B mg2A mg2B mg3A mg3B mg4A mg4B mg5A \\\n",
|
|
"0 175 2 24 27 33 12 15 39 15 19 0 \n",
|
|
"1 176 2 21 31 33 30 16 0 0 0 0 \n",
|
|
"2 177 2 35 18 36 36 0 0 38 13 0 \n",
|
|
"3 178 2 18 19 35 26 36 29 17 37 0 \n",
|
|
"4 201 2 25 20 21 32 31 28 31 17 27 \n",
|
|
"5 202 2 12 30 0 0 0 0 0 0 0 \n",
|
|
"6 206 2 36 29 0 0 31 31 0 0 0 \n",
|
|
"7 210 2 19 0 12 13 21 37 12 22 0 \n",
|
|
"8 211 2 32 35 0 0 0 0 0 0 0 \n",
|
|
"9 212 2 23 30 0 0 0 0 0 0 0 \n",
|
|
"\n",
|
|
" mg5B mg6A mg6B mg7A mg7B mg8A mg8B r1A r1B r2A r2B r3A r3B \\\n",
|
|
"0 0 0 0 0 0 0 0 1 1 1 1 1 1 \n",
|
|
"1 0 0 0 0 0 0 0 1 1 1 1 1 0 \n",
|
|
"2 0 0 0 0 0 0 0 1 1 1 1 1 0 \n",
|
|
"3 0 0 0 0 0 0 0 1 1 1 1 1 1 \n",
|
|
"4 27 0 0 0 0 0 0 1 1 1 1 1 1 \n",
|
|
"5 0 0 0 0 0 0 0 1 1 1 0 0 0 \n",
|
|
"6 0 0 0 0 0 0 0 1 1 1 0 1 1 \n",
|
|
"7 0 0 0 0 0 0 0 1 0 1 1 1 1 \n",
|
|
"8 0 0 0 0 0 0 0 1 1 1 0 0 0 \n",
|
|
"9 0 0 0 0 0 0 0 1 1 1 0 0 0 \n",
|
|
"\n",
|
|
" r4A r4B r5A r5B r6A r6B r7A r7B r8A r8B y1A y1B y2A y2B y3A \\\n",
|
|
"0 1 1 0 0 0 0 0 0 0 0 4 4 4 4 4 \n",
|
|
"1 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 \n",
|
|
"2 1 1 0 0 0 0 0 0 0 0 4 4 4 4 0 \n",
|
|
"3 1 1 0 0 0 0 0 0 0 0 4 4 4 4 4 \n",
|
|
"4 1 1 1 1 0 0 0 0 0 0 4 4 4 4 4 \n",
|
|
"5 0 0 0 0 0 0 0 0 0 0 4 4 0 0 0 \n",
|
|
"6 1 0 0 0 0 0 0 0 0 0 4 4 0 0 4 \n",
|
|
"7 1 1 0 0 0 0 0 0 0 0 4 0 4 4 4 \n",
|
|
"8 0 0 0 0 0 0 0 0 0 0 4 4 0 0 0 \n",
|
|
"9 0 0 0 0 0 0 0 0 0 0 4 4 0 0 0 \n",
|
|
"\n",
|
|
" y3B y4A y4B y5A y5B y6A y6B y7A y7B y8A y8B \n",
|
|
"0 4 4 4 0 0 0 0 0 0 0 0 \n",
|
|
"1 0 0 0 0 0 0 0 0 0 0 0 \n",
|
|
"2 0 4 4 0 0 0 0 0 0 0 0 \n",
|
|
"3 4 4 4 0 0 0 0 0 0 0 0 \n",
|
|
"4 4 4 4 4 4 0 0 0 0 0 0 \n",
|
|
"5 0 0 0 0 0 0 0 0 0 0 0 \n",
|
|
"6 4 0 0 0 0 0 0 0 0 0 0 \n",
|
|
"7 4 4 4 0 0 0 0 0 0 0 0 \n",
|
|
"8 0 0 0 0 0 0 0 0 0 0 0 \n",
|
|
"9 0 0 0 0 0 0 0 0 0 0 0 "
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 현시구성\n",
|
|
"phase_info = pd.read_csv(\"phase_info.csv\")\n",
|
|
"phase_info.drop('flow_no', axis=1, inplace=True)\n",
|
|
"# display(phase_info)\n",
|
|
"mg = phase_info.pivot_table(index='inter_no', columns=['phase_no', 'ring_type'], values='min_green_dur').fillna(0).astype(int)\n",
|
|
"y = phase_info.pivot_table(index='inter_no', columns=['phase_no', 'ring_type'], values='yellow_dur').fillna(0).astype(int)\n",
|
|
"r = phase_info.pivot_table(index='inter_no', columns=['phase_no', 'ring_type'], values='red_dur').fillna(0).astype(int)\n",
|
|
"max_phase_no = phase_info['phase_no'].max()\n",
|
|
"new_columns = [f'{col}{phase}{ring}' for col in ['mg', 'y', 'r'] for phase in range(1, max_phase_no + 1) for ring in ['A', 'B']]\n",
|
|
"phase_info = pd.concat([mg, y, r], axis=1)\n",
|
|
"phase_info.columns = new_columns\n",
|
|
"phase_info['main_phase'] = 2\n",
|
|
"phase_info['mg6A'] = phase_info['mg6B'] = phase_info['mg7A'] = phase_info['mg7B'] = phase_info['mg8A'] = phase_info['mg8B']= 0\n",
|
|
"phase_info['y6A'] = phase_info['y6B'] = phase_info['y7A'] = phase_info['y7B'] = phase_info['y8A'] = phase_info['y8B']= 0\n",
|
|
"phase_info['r6A'] = phase_info['r6B'] = phase_info['r7A'] = phase_info['r7B'] = phase_info['r8A'] = phase_info['r8B']= 0\n",
|
|
"phase_info = phase_info[sorted(phase_info.columns)]\n",
|
|
"phase_info.reset_index(inplace=True)\n",
|
|
"with pd.option_context('display.max_rows', None, 'display.max_columns', None): \n",
|
|
" display(phase_info)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>angle_A1</th>\n",
|
|
" <th>angle_A2</th>\n",
|
|
" <th>angle_A3</th>\n",
|
|
" <th>angle_A4</th>\n",
|
|
" <th>angle_A5</th>\n",
|
|
" <th>angle_A6</th>\n",
|
|
" <th>angle_A7</th>\n",
|
|
" <th>angle_A8</th>\n",
|
|
" <th>angle_B1</th>\n",
|
|
" <th>angle_B2</th>\n",
|
|
" <th>angle_B3</th>\n",
|
|
" <th>angle_B4</th>\n",
|
|
" <th>angle_B5</th>\n",
|
|
" <th>angle_B6</th>\n",
|
|
" <th>angle_B7</th>\n",
|
|
" <th>angle_B8</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>175</th>\n",
|
|
" <td>179004</td>\n",
|
|
" <td>001095</td>\n",
|
|
" <td>090270</td>\n",
|
|
" <td>268000</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>003176</td>\n",
|
|
" <td>179270</td>\n",
|
|
" <td>090180</td>\n",
|
|
" <td>270090</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>176</th>\n",
|
|
" <td>180000</td>\n",
|
|
" <td>180000</td>\n",
|
|
" <td>270356</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>359180</td>\n",
|
|
" <td>180270</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>177</th>\n",
|
|
" <td>180000</td>\n",
|
|
" <td>000090</td>\n",
|
|
" <td>stop</td>\n",
|
|
" <td>268000</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>001176</td>\n",
|
|
" <td>179270</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>090180</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>178</th>\n",
|
|
" <td>180000</td>\n",
|
|
" <td>000090</td>\n",
|
|
" <td>270000</td>\n",
|
|
" <td>090270</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>000180</td>\n",
|
|
" <td>180270</td>\n",
|
|
" <td>270090</td>\n",
|
|
" <td>090180</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>201</th>\n",
|
|
" <td>180000</td>\n",
|
|
" <td>270000</td>\n",
|
|
" <td>090270</td>\n",
|
|
" <td>090270</td>\n",
|
|
" <td>000090</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>180270</td>\n",
|
|
" <td>270090</td>\n",
|
|
" <td>270090</td>\n",
|
|
" <td>090180</td>\n",
|
|
" <td>000180</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>202</th>\n",
|
|
" <td>090270</td>\n",
|
|
" <td>stop</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>270090</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>206</th>\n",
|
|
" <td>180000</td>\n",
|
|
" <td>stop</td>\n",
|
|
" <td>180000</td>\n",
|
|
" <td>stop</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>000180</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>000180</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>210</th>\n",
|
|
" <td>090270</td>\n",
|
|
" <td>268000</td>\n",
|
|
" <td>359090</td>\n",
|
|
" <td>180000</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>270090</td>\n",
|
|
" <td>000180</td>\n",
|
|
" <td>180270</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>211</th>\n",
|
|
" <td>090270</td>\n",
|
|
" <td>stop</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>270090</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>212</th>\n",
|
|
" <td>090270</td>\n",
|
|
" <td>stop</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>268090</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" <td>NaN</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" angle_A1 angle_A2 angle_A3 angle_A4 angle_A5 angle_A6 angle_A7 \\\n",
|
|
"inter_no \n",
|
|
"175 179004 001095 090270 268000 NaN NaN NaN \n",
|
|
"176 180000 180000 270356 NaN NaN NaN NaN \n",
|
|
"177 180000 000090 stop 268000 NaN NaN NaN \n",
|
|
"178 180000 000090 270000 090270 NaN NaN NaN \n",
|
|
"201 180000 270000 090270 090270 000090 NaN NaN \n",
|
|
"202 090270 stop NaN NaN NaN NaN NaN \n",
|
|
"206 180000 stop 180000 stop NaN NaN NaN \n",
|
|
"210 090270 268000 359090 180000 NaN NaN NaN \n",
|
|
"211 090270 stop NaN NaN NaN NaN NaN \n",
|
|
"212 090270 stop NaN NaN NaN NaN NaN \n",
|
|
"\n",
|
|
" angle_A8 angle_B1 angle_B2 angle_B3 angle_B4 angle_B5 angle_B6 \\\n",
|
|
"inter_no \n",
|
|
"175 NaN 003176 179270 090180 270090 NaN NaN \n",
|
|
"176 NaN 359180 180270 NaN NaN NaN NaN \n",
|
|
"177 NaN 001176 179270 NaN 090180 NaN NaN \n",
|
|
"178 NaN 000180 180270 270090 090180 NaN NaN \n",
|
|
"201 NaN 180270 270090 270090 090180 000180 NaN \n",
|
|
"202 NaN 270090 NaN NaN NaN NaN NaN \n",
|
|
"206 NaN 000180 NaN 000180 NaN NaN NaN \n",
|
|
"210 NaN NaN 270090 000180 180270 NaN NaN \n",
|
|
"211 NaN 270090 NaN NaN NaN NaN NaN \n",
|
|
"212 NaN 268090 NaN NaN NaN NaN NaN \n",
|
|
"\n",
|
|
" angle_B7 angle_B8 \n",
|
|
"inter_no \n",
|
|
"175 NaN NaN \n",
|
|
"176 NaN NaN \n",
|
|
"177 NaN NaN \n",
|
|
"178 NaN NaN \n",
|
|
"201 NaN NaN \n",
|
|
"202 NaN NaN \n",
|
|
"206 NaN NaN \n",
|
|
"210 NaN NaN \n",
|
|
"211 NaN NaN \n",
|
|
"212 NaN NaN "
|
|
]
|
|
},
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 방위각정보\n",
|
|
"flow_angle = pd.read_csv(\"flow_angle.csv\")\n",
|
|
"angle = flow_angle.pivot_table(index='inter_no', columns=['phase_no', 'ring_type'], values='angle_code', aggfunc='first').fillna('NaN')\n",
|
|
"new_columns = [f'angle_{ring}{phase}' for phase in range(1, 6) for ring in ['A', 'B']]\n",
|
|
"angle.columns = new_columns\n",
|
|
"angle['angle_A6'] = angle['angle_A7'] = angle['angle_A8'] = np.nan\n",
|
|
"angle['angle_B6'] = angle['angle_B7'] = angle['angle_B8'] = np.nan\n",
|
|
"angle = angle[sorted(angle.columns)]\n",
|
|
"angle"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>phas_A</th>\n",
|
|
" <th>phas_B</th>\n",
|
|
" <th>move_A</th>\n",
|
|
" <th>move_B</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>4</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no phas_A phas_B move_A move_B\n",
|
|
"0 175 2 2 7 3\n",
|
|
"0 176 2 2 8 3\n",
|
|
"0 177 2 2 7 3\n",
|
|
"0 178 1 1 8 4\n",
|
|
"0 201 1 1 8 3\n",
|
|
"0 202 1 1 6 2\n",
|
|
"0 206 4 4 17 18\n",
|
|
"0 210 2 2 5 2\n",
|
|
"0 211 1 1 6 2\n",
|
|
"0 212 2 2 17 18"
|
|
]
|
|
},
|
|
"execution_count": 26,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 이동류번호\n",
|
|
"plan = pd.read_csv(\"time_plan.csv\")\n",
|
|
"phase = pd.read_csv('phase_info.csv')\n",
|
|
"plan = plan[plan.ID.isin([1, 5, 8, 11])]\n",
|
|
"ID2starttime = {1:\"00:00\", 5:\"07:00\", 8:\"09:00\", 11:\"18:30\"}\n",
|
|
"plan['start_hour'] = plan.ID.apply(lambda id:ID2starttime[id].split(\":\")[0])\n",
|
|
"plan['start_minute']=plan.ID.apply(lambda id:ID2starttime[id].split(\":\")[1])\n",
|
|
"plan = plan[['inter_no', 'start_hour', 'start_minute', 'phase_no', 'ring_type', 'duration', 'cycle']]\n",
|
|
"plan_ = pd.merge(plan, phase[['inter_no', 'phase_no', 'ring_type', 'flow_no']], on=['inter_no', 'phase_no', 'ring_type'], how='left')\n",
|
|
"plan_['flow_no'] = plan_['flow_no'].fillna(18).astype(int)\n",
|
|
"plan_['start_second'] = plan_.start_hour.astype(int)*3600 + plan_.start_minute.astype(int)*60\n",
|
|
"plan_ = plan_[['inter_no', 'start_second', 'phase_no', 'ring_type', 'duration', 'flow_no', 'cycle']]\n",
|
|
"cycle_dict = dict(zip(zip(plan_['inter_no'], plan_['start_second']), plan_['cycle']))\n",
|
|
"df = plan_[['inter_no','start_second','cycle']].drop_duplicates()\n",
|
|
"df = df.reset_index(drop=True)\n",
|
|
"df['start_second_exact'] = 0\n",
|
|
"for i in range(1, len(df)):\n",
|
|
" if i % 4 != 0:\n",
|
|
" prev = df.loc[i-1, 'start_second_exact']\n",
|
|
" start_second = df.loc[i, 'start_second']\n",
|
|
" cycle = df.loc[i-1, 'cycle']\n",
|
|
" df.loc[i, 'start_second_exact'] = (start_second - prev) % cycle + start_second\n",
|
|
"inter2start = {inter_no:list(df[df.inter_no==inter_no]['start_second_exact']) for inter_no in df.inter_no}\n",
|
|
"plan_ = plan_.pivot_table(index=['inter_no', 'start_second', 'phase_no'],\n",
|
|
" columns='ring_type',\n",
|
|
" values=['duration', 'flow_no'],\n",
|
|
" aggfunc='first').reset_index()\n",
|
|
"plan_.columns = ['inter_no', 'start_second', 'phase_no', 'dura_A', 'dura_B', 'move_A', 'move_B']\n",
|
|
"inter2no_phase = {inter_no:group.phase_no.unique().max() for (inter_no, group) in plan.groupby('inter_no')}\n",
|
|
"\n",
|
|
"midnight = int(datetime(2024, 1, 5, 0, 0, 0).timestamp())\n",
|
|
"present = int(datetime(2024, 1, 5, 3, 55, 48).timestamp()) # <===== 현재시각\n",
|
|
"sec = present - midnight\n",
|
|
"the_start_second = np.max(df.start_second[df.start_second <= sec])\n",
|
|
"move = []\n",
|
|
"for inter_no in plan_.inter_no.unique():\n",
|
|
" cycle = cycle_dict[(inter_no, the_start_second)]\n",
|
|
" df = plan_[(plan_.inter_no==inter_no)&(plan_.start_second==the_start_second)].reset_index(drop=True)\n",
|
|
" remainder = sec % cycle\n",
|
|
" df['cums_A'] = df.copy().dura_A.cumsum()\n",
|
|
" df['cums_B'] = df.copy().dura_B.cumsum()\n",
|
|
" ind_A = len(df.cums_A[df.cums_A <= remainder])%inter2no_phase[inter_no]\n",
|
|
" ind_B = len(df.cums_B[df.cums_B <= remainder])%inter2no_phase[inter_no]\n",
|
|
" dura_A = df.loc[ind_A,'dura_A']\n",
|
|
" dura_B = df.loc[ind_B,'dura_B']\n",
|
|
" phas_A = df.loc[ind_A,'phase_no']\n",
|
|
" phas_B = df.loc[ind_B,'phase_no']\n",
|
|
" move_A = df.loc[ind_A,'move_A']\n",
|
|
" move_B = df.loc[ind_B,'move_B']\n",
|
|
" move.append(pd.DataFrame({'inter_no':[inter_no],'phas_A':[phas_A], 'phas_B':[phas_B],'move_A':[move_A], 'move_B':[move_B]}))\n",
|
|
"move = pd.concat(move)\n",
|
|
"move"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 368,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>group_no</th>\n",
|
|
" <th>timeplan_no</th>\n",
|
|
" <th>ID</th>\n",
|
|
" <th>phase_no</th>\n",
|
|
" <th>ring_type</th>\n",
|
|
" <th>duration</th>\n",
|
|
" <th>cycle</th>\n",
|
|
" <th>offset</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>55</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>...</th>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1083</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>15</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>211</td>\n",
|
|
" <td>250</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1084</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>16</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>250</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1085</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>16</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>250</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1086</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>16</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>A</td>\n",
|
|
" <td>211</td>\n",
|
|
" <td>250</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1087</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>16</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>B</td>\n",
|
|
" <td>211</td>\n",
|
|
" <td>250</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"<p>1088 rows × 9 columns</p>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no group_no timeplan_no ID phase_no ring_type duration \\\n",
|
|
"0 175 27 1 1 1 A 37 \n",
|
|
"1 175 27 1 1 1 B 37 \n",
|
|
"2 175 27 1 1 2 A 39 \n",
|
|
"3 175 27 1 1 2 B 39 \n",
|
|
"4 175 27 1 1 3 A 55 \n",
|
|
"... ... ... ... .. ... ... ... \n",
|
|
"1083 212 27 1 15 2 B 211 \n",
|
|
"1084 212 27 1 16 1 A 39 \n",
|
|
"1085 212 27 1 16 1 B 39 \n",
|
|
"1086 212 27 1 16 2 A 211 \n",
|
|
"1087 212 27 1 16 2 B 211 \n",
|
|
"\n",
|
|
" cycle offset \n",
|
|
"0 160 57 \n",
|
|
"1 160 57 \n",
|
|
"2 160 57 \n",
|
|
"3 160 57 \n",
|
|
"4 160 57 \n",
|
|
"... ... ... \n",
|
|
"1083 250 0 \n",
|
|
"1084 250 0 \n",
|
|
"1085 250 0 \n",
|
|
"1086 250 0 \n",
|
|
"1087 250 0 \n",
|
|
"\n",
|
|
"[1088 rows x 9 columns]"
|
|
]
|
|
},
|
|
"execution_count": 368,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"plan = pd.read_csv(\"time_plan.csv\")\n",
|
|
"plan"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 509,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>start_hour</th>\n",
|
|
" <th>start_minute</th>\n",
|
|
" <th>ddur_1</th>\n",
|
|
" <th>ddur_2</th>\n",
|
|
" <th>ddur_3</th>\n",
|
|
" <th>ddur_4</th>\n",
|
|
" <th>ddur_5</th>\n",
|
|
" <th>ddur_6</th>\n",
|
|
" <th>ddur_7</th>\n",
|
|
" <th>ddur_8</th>\n",
|
|
" <th>cycle</th>\n",
|
|
" <th>offset</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>42</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>40</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>48</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>41</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>18</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>73</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>150</td>\n",
|
|
" <td>131</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>93</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>153</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>103</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>169</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>113</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>185</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>68</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>150</td>\n",
|
|
" <td>35</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>71</td>\n",
|
|
" <td>34</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>33</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>70</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>41</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>32</td>\n",
|
|
" <td>77</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>49</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>12</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>23</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>50</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>13</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>42</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>90</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>14</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>80</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>15</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>44</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>23</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>75</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>16</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>58</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>133</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>17</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>58</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>132</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>18</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>58</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>134</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>19</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>58</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>137</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>20</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>101</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>103</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>21</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>114</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>103</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>22</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>114</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>103</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>23</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>48</td>\n",
|
|
" <td>122</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>103</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>24</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>35</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>120</td>\n",
|
|
" <td>10</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>25</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>44</td>\n",
|
|
" <td>44</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>7</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>26</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>53</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>150</td>\n",
|
|
" <td>17</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>27</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>62</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>10</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>28</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>56</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>150</td>\n",
|
|
" <td>115</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>29</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>65</td>\n",
|
|
" <td>23</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>131</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>30</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>15</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>70</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>137</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>31</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>47</td>\n",
|
|
" <td>75</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>143</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>32</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>97</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>125</td>\n",
|
|
" <td>45</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>33</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>107</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>135</td>\n",
|
|
" <td>45</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>34</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>112</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>55</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>35</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>117</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>145</td>\n",
|
|
" <td>55</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>36</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>161</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>200</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>37</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>181</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>220</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>38</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>191</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>230</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>39</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>240</td>\n",
|
|
" <td>0</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no start_hour start_minute ddur_1 ddur_2 ddur_3 ddur_4 ddur_5 \\\n",
|
|
"0 175 00 00 37 39 25 30 29 \n",
|
|
"1 175 07 00 40 42 29 26 33 \n",
|
|
"2 175 09 00 43 45 33 22 37 \n",
|
|
"3 175 18 30 46 48 37 18 41 \n",
|
|
"4 176 00 00 37 73 40 0 0 \n",
|
|
"5 176 07 00 37 93 40 0 0 \n",
|
|
"6 176 09 00 37 103 40 0 0 \n",
|
|
"7 176 18 30 37 113 40 0 0 \n",
|
|
"8 177 00 00 36 20 68 26 0 \n",
|
|
"9 177 07 00 40 25 71 34 0 \n",
|
|
"10 177 09 00 43 27 70 40 0 \n",
|
|
"11 177 18 30 45 32 77 36 0 \n",
|
|
"12 178 00 00 38 39 40 23 0 \n",
|
|
"13 178 07 00 38 39 42 20 21 \n",
|
|
"14 178 09 00 38 39 43 28 22 \n",
|
|
"15 178 18 30 38 39 44 36 23 \n",
|
|
"16 201 00 00 24 24 17 58 17 \n",
|
|
"17 201 07 00 30 36 18 58 18 \n",
|
|
"18 201 09 00 33 36 25 58 18 \n",
|
|
"19 201 18 30 36 50 18 58 18 \n",
|
|
"20 202 00 00 39 101 0 0 0 \n",
|
|
"21 202 07 00 46 114 0 0 0 \n",
|
|
"22 202 09 00 46 114 0 0 0 \n",
|
|
"23 202 18 30 48 122 0 0 0 \n",
|
|
"24 206 00 00 33 35 26 26 0 \n",
|
|
"25 206 07 00 44 44 26 26 0 \n",
|
|
"26 206 09 00 45 53 26 26 0 \n",
|
|
"27 206 18 30 46 62 26 26 0 \n",
|
|
"28 210 00 00 24 19 29 56 22 \n",
|
|
"29 210 07 00 24 19 39 65 23 \n",
|
|
"30 210 09 00 28 15 43 70 24 \n",
|
|
"31 210 18 30 24 19 47 75 25 \n",
|
|
"32 211 00 00 28 97 0 0 0 \n",
|
|
"33 211 07 00 28 107 0 0 0 \n",
|
|
"34 211 09 00 28 112 0 0 0 \n",
|
|
"35 211 18 30 28 117 0 0 0 \n",
|
|
"36 212 00 00 39 161 0 0 0 \n",
|
|
"37 212 07 00 39 181 0 0 0 \n",
|
|
"38 212 09 00 39 191 0 0 0 \n",
|
|
"39 212 18 30 39 201 0 0 0 \n",
|
|
"\n",
|
|
" ddur_6 ddur_7 ddur_8 cycle offset \n",
|
|
"0 0 0 0 160 57 \n",
|
|
"1 0 0 0 170 40 \n",
|
|
"2 0 0 0 180 28 \n",
|
|
"3 0 0 0 190 18 \n",
|
|
"4 0 0 0 150 131 \n",
|
|
"5 0 0 0 170 153 \n",
|
|
"6 0 0 0 180 169 \n",
|
|
"7 0 0 0 190 185 \n",
|
|
"8 0 0 0 150 35 \n",
|
|
"9 0 0 0 170 33 \n",
|
|
"10 0 0 0 180 41 \n",
|
|
"11 0 0 0 190 49 \n",
|
|
"12 0 0 0 140 50 \n",
|
|
"13 0 0 0 160 90 \n",
|
|
"14 0 0 0 170 80 \n",
|
|
"15 0 0 0 180 75 \n",
|
|
"16 0 0 0 140 133 \n",
|
|
"17 0 0 0 160 132 \n",
|
|
"18 0 0 0 170 134 \n",
|
|
"19 0 0 0 180 137 \n",
|
|
"20 0 0 0 140 103 \n",
|
|
"21 0 0 0 160 103 \n",
|
|
"22 0 0 0 160 103 \n",
|
|
"23 0 0 0 170 103 \n",
|
|
"24 0 0 0 120 10 \n",
|
|
"25 0 0 0 140 7 \n",
|
|
"26 0 0 0 150 17 \n",
|
|
"27 0 0 0 160 10 \n",
|
|
"28 0 0 0 150 115 \n",
|
|
"29 0 0 0 170 131 \n",
|
|
"30 0 0 0 180 137 \n",
|
|
"31 0 0 0 190 143 \n",
|
|
"32 0 0 0 125 45 \n",
|
|
"33 0 0 0 135 45 \n",
|
|
"34 0 0 0 140 55 \n",
|
|
"35 0 0 0 145 55 \n",
|
|
"36 0 0 0 200 0 \n",
|
|
"37 0 0 0 220 0 \n",
|
|
"38 0 0 0 230 0 \n",
|
|
"39 0 0 0 240 0 "
|
|
]
|
|
},
|
|
"execution_count": 509,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# 신호계획\n",
|
|
"plan = pd.read_csv(\"time_plan.csv\")\n",
|
|
"plan = plan[plan.ID.isin([1, 5, 8, 11])]\n",
|
|
"ID2starttime = {1:\"00:00\", 5:\"07:00\", 8:\"09:00\", 11:\"18:30\"}\n",
|
|
"plan['start_hour'] = plan.ID.apply(lambda id:ID2starttime[id].split(\":\")[0])\n",
|
|
"plan['start_minute']=plan.ID.apply(lambda id:ID2starttime[id].split(\":\")[1])\n",
|
|
"plan = plan[['inter_no', 'start_hour', 'start_minute', 'phase_no', 'ring_type', 'duration', 'cycle', 'offset']]\n",
|
|
"plan = plan.pivot_table(index=['inter_no', 'start_hour', 'start_minute', 'cycle', 'offset'], columns=['phase_no','ring_type'], values='duration', aggfunc='first').fillna(0).astype(int)\n",
|
|
"new_columns = [f'dura_{ring}{phase}' for phase in range(1, 6) for ring in ['A', 'B']]\n",
|
|
"plan.columns = new_columns\n",
|
|
"new_columns = [f'dura_{ring}{phase}' for phase in range(1, 9) for ring in ['A', 'B']]\n",
|
|
"for col in new_columns:\n",
|
|
" if col not in plan.columns:\n",
|
|
" plan[col] = 0\n",
|
|
"plan.reset_index(inplace=True)\n",
|
|
"plan = plan[list(plan.columns)[:3] + sorted(plan.columns)[1:-4] + list(plan.columns)[3:5]]\n",
|
|
"\n",
|
|
"cums_A = np.array(plan[[f'dura_A{k}' for k in range(1,9)]].cumsum(axis=1))\n",
|
|
"cums_B = np.array(plan[[f'dura_B{k}' for k in range(1,9)]].cumsum(axis=1))\n",
|
|
"detailed_cums = []\n",
|
|
"i = 0\n",
|
|
"for row_A, row_B in zip(cums_A, cums_B):\n",
|
|
" combined_row = np.unique(np.concatenate((row_A, row_B)))\n",
|
|
" ddur = np.concatenate(([combined_row[0]], np.diff(combined_row)))\n",
|
|
" ddur = np.pad(ddur, (0, 8 - len(ddur)), constant_values=(0))\n",
|
|
" detailed_cums.append(ddur)\n",
|
|
" for j in range(8):\n",
|
|
" plan.at[i, f'ddur_{j+1}'] = ddur[j]\n",
|
|
" i+=1\n",
|
|
"plan = plan[['inter_no', 'start_hour', 'start_minute'] + [f'ddur_{i}' for i in range(1,9)] + ['cycle', 'offset']\n",
|
|
" #+ [f'dura_{phase}{i}' for phase in ['A','B'] for i in range(1,9)]\n",
|
|
" ]\n",
|
|
"plan[[f'ddur_{i}' for i in range(1,9)]] = plan[[f'ddur_{i}' for i in range(1,9)]].astype(int)\n",
|
|
"\n",
|
|
"plan"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 528,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>start_hour</th>\n",
|
|
" <th>start_minute</th>\n",
|
|
" <th>ddur_1</th>\n",
|
|
" <th>ddur_2</th>\n",
|
|
" <th>ddur_3</th>\n",
|
|
" <th>ddur_4</th>\n",
|
|
" <th>ddur_5</th>\n",
|
|
" <th>ddur_6</th>\n",
|
|
" <th>ddur_7</th>\n",
|
|
" <th>ddur_8</th>\n",
|
|
" <th>cycle</th>\n",
|
|
" <th>offset</th>\n",
|
|
" <th>unix</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>42</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>48</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>41</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no start_hour start_minute ddur_1 ddur_2 ddur_3 ddur_4 ddur_5 \\\n",
|
|
"0 175 00 00 37 39 25 30 29 \n",
|
|
"1 175 07 00 40 42 29 26 33 \n",
|
|
"2 175 09 00 43 45 33 22 37 \n",
|
|
"3 175 18 30 46 48 37 18 41 \n",
|
|
"\n",
|
|
" ddur_6 ddur_7 ddur_8 cycle offset unix \n",
|
|
"0 0 0 0 160 57 1704380400 \n",
|
|
"1 0 0 0 170 40 1704405600 \n",
|
|
"2 0 0 0 180 28 1704412800 \n",
|
|
"3 0 0 0 190 18 1704447000 "
|
|
]
|
|
},
|
|
"execution_count": 528,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"planned = plan.copy()\n",
|
|
"midnight = int(datetime(2024, 1, 5, 0, 0, 0).timestamp())\n",
|
|
"next_day = int(datetime(2024, 1, 6, 0, 0, 0).timestamp())\n",
|
|
"# planned['seconds'] = planned['start_hour'].astype(int)*3600 + planned['start_minute'].astype(int)*60\n",
|
|
"planned['unix'] = planned['start_hour'].astype(int)*3600 + plan['start_minute'].astype(int)*60 + midnight\n",
|
|
"plan175 = planned[planned.inter_no==175]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 589,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import random\n",
|
|
"r = random.choices([0, -1, 1], weights=[80, 10, 10])[0]\n",
|
|
"print(r)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 622,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"0 160 1704405600\n",
|
|
"1 170 1704412800\n",
|
|
"2 180 1704447000\n",
|
|
"3 190 1704380400\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>start_hour</th>\n",
|
|
" <th>start_minute</th>\n",
|
|
" <th>ddur_1</th>\n",
|
|
" <th>ddur_2</th>\n",
|
|
" <th>ddur_3</th>\n",
|
|
" <th>ddur_4</th>\n",
|
|
" <th>ddur_5</th>\n",
|
|
" <th>ddur_6</th>\n",
|
|
" <th>ddur_7</th>\n",
|
|
" <th>ddur_8</th>\n",
|
|
" <th>cycle</th>\n",
|
|
" <th>offset</th>\n",
|
|
" <th>unix</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704434600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704434780</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704434960</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704435140</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704435320</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704435500</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704435680</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704435860</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704436040</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704436221</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704436580</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704436760</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704436940</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704437120</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704437300</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704437480</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704437660</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704437841</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704438200</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704438380</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704438560</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704438740</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704438920</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704439100</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704439280</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704439460</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704439640</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704439821</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704440180</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704440360</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704440540</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704440721</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704441080</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704441260</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704441441</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704441800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704441980</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704442161</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704442520</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704442700</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704442880</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704443060</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704443240</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704443420</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704443600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704443780</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704443960</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704444139</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704444500</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704444680</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704444860</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704445041</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704445400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704445581</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704445940</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704446120</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704446300</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704446479</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704446840</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>1704447019</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no start_hour start_minute ddur_1 ddur_2 ddur_3 ddur_4 ddur_5 ddur_6 \\\n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"2 175 09 00 43 45 33 22 37 0 \n",
|
|
"\n",
|
|
" ddur_7 ddur_8 cycle offset unix \n",
|
|
"2 0 0 180 28 1704434600 \n",
|
|
"2 0 0 180 28 1704434780 \n",
|
|
"2 0 0 180 28 1704434960 \n",
|
|
"2 0 0 180 28 1704435140 \n",
|
|
"2 0 0 180 28 1704435320 \n",
|
|
"2 0 0 180 28 1704435500 \n",
|
|
"2 0 0 180 28 1704435680 \n",
|
|
"2 0 0 180 28 1704435860 \n",
|
|
"2 0 0 180 28 1704436040 \n",
|
|
"2 0 0 180 28 1704436221 \n",
|
|
"2 0 0 180 28 1704436580 \n",
|
|
"2 0 0 180 28 1704436760 \n",
|
|
"2 0 0 180 28 1704436940 \n",
|
|
"2 0 0 180 28 1704437120 \n",
|
|
"2 0 0 180 28 1704437300 \n",
|
|
"2 0 0 180 28 1704437480 \n",
|
|
"2 0 0 180 28 1704437660 \n",
|
|
"2 0 0 180 28 1704437841 \n",
|
|
"2 0 0 180 28 1704438200 \n",
|
|
"2 0 0 180 28 1704438380 \n",
|
|
"2 0 0 180 28 1704438560 \n",
|
|
"2 0 0 180 28 1704438740 \n",
|
|
"2 0 0 180 28 1704438920 \n",
|
|
"2 0 0 180 28 1704439100 \n",
|
|
"2 0 0 180 28 1704439280 \n",
|
|
"2 0 0 180 28 1704439460 \n",
|
|
"2 0 0 180 28 1704439640 \n",
|
|
"2 0 0 180 28 1704439821 \n",
|
|
"2 0 0 180 28 1704440180 \n",
|
|
"2 0 0 180 28 1704440360 \n",
|
|
"2 0 0 180 28 1704440540 \n",
|
|
"2 0 0 180 28 1704440721 \n",
|
|
"2 0 0 180 28 1704441080 \n",
|
|
"2 0 0 180 28 1704441260 \n",
|
|
"2 0 0 180 28 1704441441 \n",
|
|
"2 0 0 180 28 1704441800 \n",
|
|
"2 0 0 180 28 1704441980 \n",
|
|
"2 0 0 180 28 1704442161 \n",
|
|
"2 0 0 180 28 1704442520 \n",
|
|
"2 0 0 180 28 1704442700 \n",
|
|
"2 0 0 180 28 1704442880 \n",
|
|
"2 0 0 180 28 1704443060 \n",
|
|
"2 0 0 180 28 1704443240 \n",
|
|
"2 0 0 180 28 1704443420 \n",
|
|
"2 0 0 180 28 1704443600 \n",
|
|
"2 0 0 180 28 1704443780 \n",
|
|
"2 0 0 180 28 1704443960 \n",
|
|
"2 0 0 180 28 1704444139 \n",
|
|
"2 0 0 180 28 1704444500 \n",
|
|
"2 0 0 180 28 1704444680 \n",
|
|
"2 0 0 180 28 1704444860 \n",
|
|
"2 0 0 180 28 1704445041 \n",
|
|
"2 0 0 180 28 1704445400 \n",
|
|
"2 0 0 180 28 1704445581 \n",
|
|
"2 0 0 180 28 1704445940 \n",
|
|
"2 0 0 180 28 1704446120 \n",
|
|
"2 0 0 180 28 1704446300 \n",
|
|
"2 0 0 180 28 1704446479 \n",
|
|
"2 0 0 180 28 1704446840 \n",
|
|
"2 0 0 180 28 1704447019 "
|
|
]
|
|
},
|
|
"execution_count": 622,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"rows = []\n",
|
|
"current_time = midnight\n",
|
|
"for i in range(len(plan175)):\n",
|
|
" first_row = planned.iloc[i]\n",
|
|
" cycle = first_row['cycle']\n",
|
|
" unix_end = planned.iloc[i+1]['unix'] if i < len(plan175) else next_day\n",
|
|
" r=0\n",
|
|
" print(i, cycle, unix_end)\n",
|
|
" while current_time <= unix_end:\n",
|
|
" r = random.choices([0, -1, 1], weights=[10, 1, 1])[0]\n",
|
|
" if current_time % 10 == 9:\n",
|
|
" r = cycle + 1\n",
|
|
" elif current_time % 10 == 1:\n",
|
|
" r = cycle - 1\n",
|
|
" current_time += cycle + r\n",
|
|
" new_row = first_row.copy()\n",
|
|
" new_row['unix'] = current_time\n",
|
|
" rows.append(new_row)\n",
|
|
"history = pd.concat(rows, axis=1).transpose()\n",
|
|
"history[-60:]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 483,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>start_hour</th>\n",
|
|
" <th>start_minute</th>\n",
|
|
" <th>ddur_1</th>\n",
|
|
" <th>ddur_2</th>\n",
|
|
" <th>ddur_3</th>\n",
|
|
" <th>ddur_4</th>\n",
|
|
" <th>ddur_5</th>\n",
|
|
" <th>ddur_6</th>\n",
|
|
" <th>ddur_7</th>\n",
|
|
" <th>ddur_8</th>\n",
|
|
" <th>cycle</th>\n",
|
|
" <th>offset</th>\n",
|
|
" <th>seconds</th>\n",
|
|
" <th>unix</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>42</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>48</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>41</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>73</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>150</td>\n",
|
|
" <td>131</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>93</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>153</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>103</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>169</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>176</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>113</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>185</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>8</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>68</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>150</td>\n",
|
|
" <td>35</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>9</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>71</td>\n",
|
|
" <td>34</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>10</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>27</td>\n",
|
|
" <td>70</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>41</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>11</th>\n",
|
|
" <td>177</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>32</td>\n",
|
|
" <td>77</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>49</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>12</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>23</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>13</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>42</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>90</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>14</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>80</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>15</th>\n",
|
|
" <td>178</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>38</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>44</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>23</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>75</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>16</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>58</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>133</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>17</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>58</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>132</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>18</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>58</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>134</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>19</th>\n",
|
|
" <td>201</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>36</td>\n",
|
|
" <td>50</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>58</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>137</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>20</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>101</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>103</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>21</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>114</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>103</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>22</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>114</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>103</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>23</th>\n",
|
|
" <td>202</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>48</td>\n",
|
|
" <td>122</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>103</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>24</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>35</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>120</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>25</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>44</td>\n",
|
|
" <td>44</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>26</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>53</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>150</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>27</th>\n",
|
|
" <td>206</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>46</td>\n",
|
|
" <td>62</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>10</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>28</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>56</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>150</td>\n",
|
|
" <td>115</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>29</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>65</td>\n",
|
|
" <td>23</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>131</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>30</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>15</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>70</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>137</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>31</th>\n",
|
|
" <td>210</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>24</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>47</td>\n",
|
|
" <td>75</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>190</td>\n",
|
|
" <td>143</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>32</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>97</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>125</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>33</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>107</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>135</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>34</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>112</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>140</td>\n",
|
|
" <td>55</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>35</th>\n",
|
|
" <td>211</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>117</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>145</td>\n",
|
|
" <td>55</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>36</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>161</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>200</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>37</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>181</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>220</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>38</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>191</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>230</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>39</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>240</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no start_hour start_minute ddur_1 ddur_2 ddur_3 ddur_4 ddur_5 \\\n",
|
|
"0 175 00 00 37 39 25 30 29 \n",
|
|
"1 175 07 00 40 42 29 26 33 \n",
|
|
"2 175 09 00 43 45 33 22 37 \n",
|
|
"3 175 18 30 46 48 37 18 41 \n",
|
|
"4 176 00 00 37 73 40 0 0 \n",
|
|
"5 176 07 00 37 93 40 0 0 \n",
|
|
"6 176 09 00 37 103 40 0 0 \n",
|
|
"7 176 18 30 37 113 40 0 0 \n",
|
|
"8 177 00 00 36 20 68 26 0 \n",
|
|
"9 177 07 00 40 25 71 34 0 \n",
|
|
"10 177 09 00 43 27 70 40 0 \n",
|
|
"11 177 18 30 45 32 77 36 0 \n",
|
|
"12 178 00 00 38 39 40 23 0 \n",
|
|
"13 178 07 00 38 39 42 20 21 \n",
|
|
"14 178 09 00 38 39 43 28 22 \n",
|
|
"15 178 18 30 38 39 44 36 23 \n",
|
|
"16 201 00 00 24 24 17 58 17 \n",
|
|
"17 201 07 00 30 36 18 58 18 \n",
|
|
"18 201 09 00 33 36 25 58 18 \n",
|
|
"19 201 18 30 36 50 18 58 18 \n",
|
|
"20 202 00 00 39 101 0 0 0 \n",
|
|
"21 202 07 00 46 114 0 0 0 \n",
|
|
"22 202 09 00 46 114 0 0 0 \n",
|
|
"23 202 18 30 48 122 0 0 0 \n",
|
|
"24 206 00 00 33 35 26 26 0 \n",
|
|
"25 206 07 00 44 44 26 26 0 \n",
|
|
"26 206 09 00 45 53 26 26 0 \n",
|
|
"27 206 18 30 46 62 26 26 0 \n",
|
|
"28 210 00 00 24 19 29 56 22 \n",
|
|
"29 210 07 00 24 19 39 65 23 \n",
|
|
"30 210 09 00 28 15 43 70 24 \n",
|
|
"31 210 18 30 24 19 47 75 25 \n",
|
|
"32 211 00 00 28 97 0 0 0 \n",
|
|
"33 211 07 00 28 107 0 0 0 \n",
|
|
"34 211 09 00 28 112 0 0 0 \n",
|
|
"35 211 18 30 28 117 0 0 0 \n",
|
|
"36 212 00 00 39 161 0 0 0 \n",
|
|
"37 212 07 00 39 181 0 0 0 \n",
|
|
"38 212 09 00 39 191 0 0 0 \n",
|
|
"39 212 18 30 39 201 0 0 0 \n",
|
|
"\n",
|
|
" ddur_6 ddur_7 ddur_8 cycle offset seconds unix \n",
|
|
"0 0 0 0 160 57 0 1704380400 \n",
|
|
"1 0 0 0 170 40 25200 1704405600 \n",
|
|
"2 0 0 0 180 28 32400 1704412800 \n",
|
|
"3 0 0 0 190 18 66600 1704447000 \n",
|
|
"4 0 0 0 150 131 0 1704380400 \n",
|
|
"5 0 0 0 170 153 25200 1704405600 \n",
|
|
"6 0 0 0 180 169 32400 1704412800 \n",
|
|
"7 0 0 0 190 185 66600 1704447000 \n",
|
|
"8 0 0 0 150 35 0 1704380400 \n",
|
|
"9 0 0 0 170 33 25200 1704405600 \n",
|
|
"10 0 0 0 180 41 32400 1704412800 \n",
|
|
"11 0 0 0 190 49 66600 1704447000 \n",
|
|
"12 0 0 0 140 50 0 1704380400 \n",
|
|
"13 0 0 0 160 90 25200 1704405600 \n",
|
|
"14 0 0 0 170 80 32400 1704412800 \n",
|
|
"15 0 0 0 180 75 66600 1704447000 \n",
|
|
"16 0 0 0 140 133 0 1704380400 \n",
|
|
"17 0 0 0 160 132 25200 1704405600 \n",
|
|
"18 0 0 0 170 134 32400 1704412800 \n",
|
|
"19 0 0 0 180 137 66600 1704447000 \n",
|
|
"20 0 0 0 140 103 0 1704380400 \n",
|
|
"21 0 0 0 160 103 25200 1704405600 \n",
|
|
"22 0 0 0 160 103 32400 1704412800 \n",
|
|
"23 0 0 0 170 103 66600 1704447000 \n",
|
|
"24 0 0 0 120 10 0 1704380400 \n",
|
|
"25 0 0 0 140 7 25200 1704405600 \n",
|
|
"26 0 0 0 150 17 32400 1704412800 \n",
|
|
"27 0 0 0 160 10 66600 1704447000 \n",
|
|
"28 0 0 0 150 115 0 1704380400 \n",
|
|
"29 0 0 0 170 131 25200 1704405600 \n",
|
|
"30 0 0 0 180 137 32400 1704412800 \n",
|
|
"31 0 0 0 190 143 66600 1704447000 \n",
|
|
"32 0 0 0 125 45 0 1704380400 \n",
|
|
"33 0 0 0 135 45 25200 1704405600 \n",
|
|
"34 0 0 0 140 55 32400 1704412800 \n",
|
|
"35 0 0 0 145 55 66600 1704447000 \n",
|
|
"36 0 0 0 200 0 0 1704380400 \n",
|
|
"37 0 0 0 220 0 25200 1704405600 \n",
|
|
"38 0 0 0 230 0 32400 1704412800 \n",
|
|
"39 0 0 0 240 0 66600 1704447000 "
|
|
]
|
|
},
|
|
"execution_count": 483,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df = plan.copy()\n",
|
|
"df"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 487,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>inter_no</th>\n",
|
|
" <th>start_hour</th>\n",
|
|
" <th>start_minute</th>\n",
|
|
" <th>ddur_1</th>\n",
|
|
" <th>ddur_2</th>\n",
|
|
" <th>ddur_3</th>\n",
|
|
" <th>ddur_4</th>\n",
|
|
" <th>ddur_5</th>\n",
|
|
" <th>ddur_6</th>\n",
|
|
" <th>ddur_7</th>\n",
|
|
" <th>ddur_8</th>\n",
|
|
" <th>cycle</th>\n",
|
|
" <th>offset</th>\n",
|
|
" <th>seconds</th>\n",
|
|
" <th>unix</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380400</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>25</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>160</td>\n",
|
|
" <td>57</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1704380560</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>42</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405600</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>42</td>\n",
|
|
" <td>29</td>\n",
|
|
" <td>26</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>170</td>\n",
|
|
" <td>40</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405770</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>175</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>43</td>\n",
|
|
" <td>45</td>\n",
|
|
" <td>33</td>\n",
|
|
" <td>22</td>\n",
|
|
" <td>37</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>180</td>\n",
|
|
" <td>28</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>...</th>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" <td>...</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>37</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>07</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>181</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>220</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>25200</td>\n",
|
|
" <td>1704405820</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>38</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>191</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>230</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704412800</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>38</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>09</td>\n",
|
|
" <td>00</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>191</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>230</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>32400</td>\n",
|
|
" <td>1704413030</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>39</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>240</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447000</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>39</th>\n",
|
|
" <td>212</td>\n",
|
|
" <td>18</td>\n",
|
|
" <td>30</td>\n",
|
|
" <td>39</td>\n",
|
|
" <td>201</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>240</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>66600</td>\n",
|
|
" <td>1704447240</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"<p>80 rows × 15 columns</p>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" inter_no start_hour start_minute ddur_1 ddur_2 ddur_3 ddur_4 ddur_5 \\\n",
|
|
"0 175 00 00 37 39 25 30 29 \n",
|
|
"0 175 00 00 37 39 25 30 29 \n",
|
|
"1 175 07 00 40 42 29 26 33 \n",
|
|
"1 175 07 00 40 42 29 26 33 \n",
|
|
"2 175 09 00 43 45 33 22 37 \n",
|
|
".. ... ... ... ... ... ... ... ... \n",
|
|
"37 212 07 00 39 181 0 0 0 \n",
|
|
"38 212 09 00 39 191 0 0 0 \n",
|
|
"38 212 09 00 39 191 0 0 0 \n",
|
|
"39 212 18 30 39 201 0 0 0 \n",
|
|
"39 212 18 30 39 201 0 0 0 \n",
|
|
"\n",
|
|
" ddur_6 ddur_7 ddur_8 cycle offset seconds unix \n",
|
|
"0 0 0 0 160 57 0 1704380400 \n",
|
|
"0 0 0 0 160 57 0 1704380560 \n",
|
|
"1 0 0 0 170 40 25200 1704405600 \n",
|
|
"1 0 0 0 170 40 25200 1704405770 \n",
|
|
"2 0 0 0 180 28 32400 1704412800 \n",
|
|
".. ... ... ... ... ... ... ... \n",
|
|
"37 0 0 0 220 0 25200 1704405820 \n",
|
|
"38 0 0 0 230 0 32400 1704412800 \n",
|
|
"38 0 0 0 230 0 32400 1704413030 \n",
|
|
"39 0 0 0 240 0 66600 1704447000 \n",
|
|
"39 0 0 0 240 0 66600 1704447240 \n",
|
|
"\n",
|
|
"[80 rows x 15 columns]"
|
|
]
|
|
},
|
|
"execution_count": 487,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df_additional = df.copy()\n",
|
|
"df_additional['unix'] = df_additional['unix'] + df_additional['cycle']\n",
|
|
"\n",
|
|
"\n",
|
|
"df_result = pd.concat([df, df_additional]).sort_values(by=['inter_no', 'start_hour', 'start_minute', 'unix'])\n",
|
|
"df_result"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "rts",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.10"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|