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

20370 lines
630 KiB

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1. 데이터를 준비합니다.\n",
"1-1. 네트워크가 로드되었습니다.\n",
"1-2. 테이블들이 로드되었습니다.\n",
"1-5. 필요한 보조 객체들이 모두 준비되었습니다.\n",
"2. 신호이력 테이블을 변환합니다.\n"
]
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import os, sys, copy, argparse\n",
"import json\n",
"import sumolib, traci\n",
"from tqdm import tqdm\n",
"from datetime import datetime\n",
"path_root = os.path.dirname(os.path.dirname(os.path.abspath('.')))\n",
"path_scr = os.path.join(path_root, 'scripts')\n",
"sys.path.append(path_scr)\n",
"from preprocess_daily import DailyPreprocessor\n",
"from generate_signals import SignalGenerator\n",
"self = SignalGenerator()\n",
"self.prepare_data()\n",
"self.process_history()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"fsecs = list(range(self.present_time - self.sim_timespan, self.present_time + 1, 5))\n",
"I = len(fsecs)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=0 1704417900\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</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",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 4 4 6 1\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1864</th>\n",
" <td>202</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1865</th>\n",
" <td>210</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1864 202 1704417740\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=1 1704417905\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</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",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 4 4 6 1\n",
"4 201 5 5 7 4\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1865</th>\n",
" <td>210</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 5 5 7 4 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=2 1704417910\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</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",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 4 4 6 1\n",
"4 201 5 5 7 4\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1865</th>\n",
" <td>210</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 5 5 7 4 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=3 1704417915\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</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",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 4 4 6 1\n",
"4 201 5 5 7 4\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1865</th>\n",
" <td>210</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 5 5 7 4 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=4 1704417920\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</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>4</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>5</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>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</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 3 3 6 1\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 3 3 8 4\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1865</th>\n",
" <td>210</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=5 1704417925\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</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>4</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>5</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>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 3 3 8 4\n",
"7 210 1 2 6 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=6 1704417930\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</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>4</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>5</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>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 3 3 8 4\n",
"7 210 1 2 6 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=7 1704417935\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</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>4</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>5</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>6</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>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 1 2 6 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417800\n",
"7 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=8 1704417940\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</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>3</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>4</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>5</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>6</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>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 2 2 8 3\n",
"2 177 2 2 7 3\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 1 2 6 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 2 2 7 3 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417800\n",
"7 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=9 1704417945\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</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>3</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>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</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>6</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>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 2 2 7 3\n",
"3 178 1 1 8 4\n",
"4 201 2 2 5 2\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 2 2 7 3 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417800\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=10 1704417950\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</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>3</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>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</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>6</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>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 2 2 7 3\n",
"3 178 1 1 8 4\n",
"4 201 2 2 5 2\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1868</th>\n",
" <td>206</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 2 2 7 3 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417800\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=11 1704417955\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</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>3</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>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</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>6</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>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 2 2 7 3\n",
"3 178 1 1 8 4\n",
"4 201 2 2 5 2\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 2 2 7 3 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417950\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=12 1704417960\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 2 2 5 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417790\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=13 1704417965\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 2 2 5 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417790\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=14 1704417970\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 3 3 6 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1867</th>\n",
" <td>175</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1866</th>\n",
" <td>177</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417790\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 3 3 6 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=15 1704417975\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 3 3 6 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1869 176 1704417810\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 3 3 6 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=16 1704417980\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 3 3 6 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1869 176 1704417810\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 3 3 6 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=17 1704417985\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1869 176 1704417810\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=18 1704417990\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1869</th>\n",
" <td>176</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1869 176 1704417810\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=19 1704417995\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=20 1704418000\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 2 2 8 3 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=21 1704418005\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</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>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 2 2 8 3 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=22 1704418010\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=23 1704418015\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=24 1704418020\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=25 1704418025\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=26 1704418030\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 4 4 8 3"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417950\n",
"7 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970\n",
"36 206 3 3 8 4 1704417950\n",
"37 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=27 1704418035\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 4 4 8 3"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417950\n",
"7 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970\n",
"36 206 3 3 8 4 1704417950\n",
"37 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=28 1704418040\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</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",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 4 4 6 1\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 4 4 8 3"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1871</th>\n",
" <td>178</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1870</th>\n",
" <td>201</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417950\n",
"7 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>175</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970\n",
"36 206 3 3 8 4 1704417950\n",
"37 210 4 4 8 3 1704417921\n",
"38 175 2 2 7 3 1704417970"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=29 1704418045\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\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>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>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</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",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 4 4 6 1\n",
"4 201 5 5 7 4\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 4 4 8 3"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\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>end_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1876</th>\n",
" <td>175</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1877</th>\n",
" <td>176</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1875</th>\n",
" <td>177</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1879</th>\n",
" <td>178</td>\n",
" <td>1704418041</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1878</th>\n",
" <td>201</td>\n",
" <td>1704418040</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>202</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1874</th>\n",
" <td>206</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1873</th>\n",
" <td>210</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1879 178 1704418041\n",
"1878 201 1704418040\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704418041</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704418040</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 4 4 6 1 1704418041\n",
"4 201 5 5 7 4 1704418040\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417950\n",
"7 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\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>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" <th>start_unix</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",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>18</td>\n",
" <td>1704417740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>202</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417900</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>210</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>210</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>178</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>201</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>177</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>210</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>176</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>175</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417870</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704417990</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>177</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704417950</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>210</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704417921</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>175</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>3</td>\n",
" <td>1704417970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704418041</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>201</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" <td>1704418040</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970\n",
"36 206 3 3 8 4 1704417950\n",
"37 210 4 4 8 3 1704417921\n",
"38 175 2 2 7 3 1704417970\n",
"39 178 4 4 6 1 1704418041\n",
"40 201 5 5 7 4 1704418040"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for i in range(30): # fsec : unix time by Five SECond\n",
" fsec = fsecs[i]\n",
" print(f'i={i}', fsec)\n",
" # 1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n",
" print('1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A')\n",
" move = pd.read_csv(os.path.join(self.path_tables, 'move', f'move_{fsec}.csv'), index_col=0).reset_index(drop=True)\n",
" display(move)\n",
" # 2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n",
" print('2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B')\n",
" recent_histories = [group.iloc[-1:] for _, group in self.history[self.history['end_unix'] < fsec].groupby('inter_no')] # 교차로별로 유닉스시간이 최대인 행들\n",
" \n",
" if not recent_histories:\n",
" rhistory = pd.DataFrame({'inter_no':[], 'end_unix':[]}) # recent history\n",
" else:\n",
" rhistory = pd.concat(recent_histories)\n",
" recent_unix = rhistory[['inter_no', 'end_unix']]\n",
" display(recent_unix)\n",
" # 3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
" print('''3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"''')\n",
" move = pd.merge(move, recent_unix, how='left', on='inter_no')\n",
" move['end_unix'] = move['end_unix'].fillna(0).astype(int)\n",
" # 4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
" move = move.rename(columns = {'end_unix':'start_unix'})\n",
" display(move)\n",
" # 5. 이동류 이력정보 READ\n",
" # - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성)\n",
" try:\n",
" if isinstance(movement, pd.DataFrame): # movement가 존재할 경우 그걸 그대로 씀.\n",
" pass\n",
" else: \n",
" movement = pd.DataFrame()\n",
" except NameError: # movement가 존재하지 않는 경우 생성\n",
" movement = pd.DataFrame()\n",
" # 6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
" print('''\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"''')\n",
" movement = pd.concat([movement, move])\n",
" # 7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
" movement = movement.drop_duplicates(['inter_no','phas_A','phas_B','start_unix'])\n",
" # 8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
" movement = movement[movement.start_unix > fsec - self.subtractor // 2].reset_index(drop=True)\n",
" # movement = movement.sort_values(by=['start_unix','inter_no','phas_A','phas_B']).reset_index(drop=True)\n",
" display(movement)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"self.make_movement()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"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",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704414620</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704414620</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704414620</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704414620</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704414640</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",
" </tr>\n",
" <tr>\n",
" <th>658</th>\n",
" <td>178</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704418150</td>\n",
" </tr>\n",
" <tr>\n",
" <th>659</th>\n",
" <td>178</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704418150</td>\n",
" </tr>\n",
" <tr>\n",
" <th>660</th>\n",
" <td>178</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704418150</td>\n",
" </tr>\n",
" <tr>\n",
" <th>661</th>\n",
" <td>176</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704418180</td>\n",
" </tr>\n",
" <tr>\n",
" <th>662</th>\n",
" <td>176</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>18</td>\n",
" <td>1704418180</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>663 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 206 1 1 8 4 1704414620\n",
"1 206 2 2 17 18 1704414620\n",
"2 206 3 3 8 4 1704414620\n",
"3 206 4 4 17 18 1704414620\n",
"4 201 1 1 8 3 1704414640\n",
".. ... ... ... ... ... ...\n",
"658 178 1 1 8 4 1704418150\n",
"659 178 3 3 5 2 1704418150\n",
"660 178 4 4 6 1 1704418150\n",
"661 176 1 1 8 4 1704418180\n",
"662 176 3 3 5 18 1704418180\n",
"\n",
"[663 rows x 6 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.movement"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"self.update_movement()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"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",
" <th>start_unix</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>206</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704414620</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>206</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704414620</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>206</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704414620</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>206</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704414620</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>201</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" <td>1704414640</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",
" </tr>\n",
" <tr>\n",
" <th>864</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>865</th>\n",
" <td>175</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>866</th>\n",
" <td>175</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1704417790</td>\n",
" </tr>\n",
" <tr>\n",
" <th>867</th>\n",
" <td>177</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" <td>1704418150</td>\n",
" </tr>\n",
" <tr>\n",
" <th>868</th>\n",
" <td>177</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>18</td>\n",
" <td>1704418150</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>869 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 206 1 1 8 4 1704414620\n",
"1 206 2 2 17 18 1704414620\n",
"2 206 3 3 8 4 1704414620\n",
"3 206 4 4 17 18 1704414620\n",
"4 201 1 1 8 3 1704414640\n",
".. ... ... ... ... ... ...\n",
"864 175 3 3 6 1 1704417790\n",
"865 175 3 4 6 2 1704417790\n",
"866 175 4 4 5 2 1704417790\n",
"867 177 1 1 8 4 1704418150\n",
"868 177 2 2 17 18 1704418150\n",
"\n",
"[869 rows x 6 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.movement_updated"
]
},
{
"cell_type": "code",
"execution_count": 10,
"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_unix</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>duration</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>206</td>\n",
" <td>1704417350</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>206</td>\n",
" <td>1704417350</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>53</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>206</td>\n",
" <td>1704417350</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>206</td>\n",
" <td>1704417350</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>206</td>\n",
" <td>1704417500</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1704418350</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>103</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>176</td>\n",
" <td>1704418350</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>176</td>\n",
" <td>1704418530</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>37</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>176</td>\n",
" <td>1704418530</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>103</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>176</td>\n",
" <td>1704418530</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>40</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>265 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no start_unix phas_A phas_B duration\n",
"0 206 1704417350 1 1 45\n",
"1 206 1704417350 2 2 53\n",
"2 206 1704417350 3 3 26\n",
"3 206 1704417350 4 4 26\n",
"0 206 1704417500 1 1 45\n",
".. ... ... ... ... ...\n",
"1 176 1704418350 2 2 103\n",
"2 176 1704418350 3 3 40\n",
"0 176 1704418530 1 1 37\n",
"1 176 1704418530 2 2 103\n",
"2 176 1704418530 3 3 40\n",
"\n",
"[265 rows x 5 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.hrhists"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "siggen",
"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
}